上一篇博客讲述如何在windows下使用MSVC对occt进行编译,这一篇演示如何创建简单的OCCT工程.
首先打开visual studio,创建一个C++空项目,并且随便起一个名称,例如Project1
需要两点注意:1.在资源文件中添加一个main.cpp。
2.在解决方案平台中选择X64,方案配置是Debug
先创建一个简单的工程
从输出的结果来看配置环境目前是没问题的。
添加一个BRepPrimAPI_MakeBox.hxx头文件,通过这个类目的是:创建一个立方体。
添加头文件后会发现前面有波浪线,原因是还没有配置OCCT库的路径。
打开OCCT库所在目录,你会找到inc目录,这里有occt所有的头文件。把这个目录路径复制到解决方案——右键项目属性——C/C++常规——附加包含目录中。
添加好库路径后,include语句下的波浪线会自动消失,这时按住CTRL键,点击类可以自动跳转到相应的头文件。
完善代码:
#include <BRepPrimAPI_MakeBox.hxx>
int main()
{
BRepPrimAPI_MakeBox box(2, 2, 2);
const TopoDS_Shape& shape = box.Shape();
return 0;
}
点击编译后发现有大量的链接错误,这是因为还没有指定链接库。
链接库目录在OCCT库/win64/vc14中,你会看到这里面有两个目录。其中一个是libd目录,这里面是lib静态库,由于我们编译的是动态库,因此这里的lib文件只是索引文件。另一个目录bind中提供的dll文件提供的是实际函数,以及pdb文件是用于调试时定位源码的文件。
我们看输出的错误信息中的第一条:
这其中的“?Free@Standard@@SAXQEAX@Z”是我们需要库的链接符号,我们要找出这个符号所在的库的名称。
这其中要引入一个查询工具FarManager,这个工具可以快速地检索链接符号。(Alt+F7打开Find file页面)
打开FarManager后,进入到libd目录,使用FindFile工具查询到需要链接的lib文件,然后添加到解决方案——右键项目属性——链接器/输入——附加依赖项中,用分号分割不同依赖项。
另外还要将libd目录添加到链接器/常规——附加库目录。
以同样的方式进行处理剩下的错误问题;
一共添加:
TKernel.lib
TKTopAlgo.lib
TKPrim.lib
再次点击一下编译运行按钮,编译成功,但是运行的时候出现dll错误。
你可以把在bind目录中找出缺失的dll文件复制到程序的工作目录,或者更好的方式是在项目配置环境指定环境。
在解决方案——右键项目属性——调试——环境中,添加PATH环境“PATH=你的BIND目录;%PATH%”。
文章来源:https://www.toymoban.com/news/detail-457329.html
这样再次编译运行,就成功了,而且可以使用调试器进行断点调试。文章来源地址https://www.toymoban.com/news/detail-457329.html
到了这里,关于OCCT教程二:在visual studio上创建一个occt工程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!