前提:安装VS2017,笔者安装的是社区版
一、下载Coin3d第三方库
下载地址:
Coin3d共享库
此地址内为编译好的Coin3d三方库,每个模块的文件夹内基本包含bin、include、lib、share。
笔者下载了
simvoleon-2.0.3-msvc14-x64.zip
quarter-1.0.1-msvc14-x64.zip
sowin-1.6.0-msvc14-x64.zip
soqt-1.6.0-msvc14-x64.zip
simage-1.7.1-msvc14-x64.zip
coin-4.0.0-msvc14-x64.zip
以上模块,将各个文件夹内的bin、include、lib、share重新合并组合到一个文件夹下(分别按原文件夹内的文件分类粘贴到新文件夹的相应路径下),笔者的库文件为Coin3DLib,文件夹内结构为下图:
笔者自己组合的库下载路径为下:
Coin3d自行组合库
二、建立小案例,配置相关内容
1、打开vs2017,新建c++项目
2.输入所要实现的功能代码
本文小案例实现圆锥的展示,代码如下:
#include
#include
#include
#include
#include
#include
#include
#include
int main(int argc, char* argv[])
{
//Initialize Inventor. This returns a main window to use
HWND myWindow = SoWin::init(argc, argv, argv[0]);
if (myWindow == NULL)exit(1);
//Make a scene containing a red cone
SoSeparator* root = new SoSeparator;
SoPerspectiveCamera* myCamera = new SoPerspectiveCamera;
SoMaterial* myMaterial = new SoMaterial;
root->ref();
root->addChild(myCamera);
root->addChild(new SoDirectionalLight);
myMaterial->diffuseColor.setValue(1.0, 0.0, 0.0);
root->addChild(myMaterial);
root->addChild(new SoCone);
//Create a renderArea in which to see our scene graph
//The render area will appear within the main window
SoWinExaminerViewer* myRenderArea = new SoWinExaminerViewer(myWindow);
//Make myCamera see everything
myCamera->viewAll(root, myRenderArea->getViewportRegion());
//Put out scene in myRenderArea, change the title
myRenderArea->setSceneGraph(root);
myRenderArea->setTitle("Hello Cone");
myRenderArea->show();
SoWin::show(myWindow); //Display main window
SoWin::mainLoop(); //Main Inventor event loop
}
如果使用soqt的话,需要使用qttools,建立qt项目,此处使用sowin,避免qt的干扰。
3.配置项目
1)修改活动平台为x64
在项目上右键,点击属性,修改如下各项目点,修改平台为x64
2)C/C+±->常规–>附加包含目录
添加目录“****\Coin3D\include”
3)C/C+±->预处理器–>预处理器定义
添加SOQT_DLL; COIN_DLL; SOWIN_DLL
4)链接器–>常规–>附加库目录
添加目录 “******\Coin3D\lib”
5)链接器–>输入–>附加依赖
添加目录*.lib文件名,比如Coin4d.lib;Quarter1d.lib;SoQt1d.lib;SIMVoleon2d.lib;SoWin1d.lib;simage1d.lib
6)配置属性–>调试–>环境:
输入path=包含dll文件的文件夹路径;不勾选从父级继承
点击生成解决方案,运行即可:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)