【OpenCASCADE】Ocaf开发框架在VS2017中的安装调试

从我安装OpenCASCADE几何平台到调试成功Ocaf框架,中间卸载重装几次OCC我都数不清了,每次都是因为忘记在调试的时候有哪些配置被自己改动了,所以当我第一次调试成功后,就直接又重新安装了一次,并做了记录

 

 一、安装

 虽然我个人从来不在C盘下安装,但团队传统都是安装在C盘根目录下,所以...嗯,直接选择安装在C盘根目录下,然后一直无脑梭哈next,直接就可以开始安装了

安装成功后,就可以开始调试Ocaf框架的步骤了

二、调试Ocaf框架

Step0:打开QQ音乐

播放自己爱听的歌。调试期间会出现很多稀奇古怪的报错,听歌不管是对你还是对键盘都好

Part1:调试Ocaf.vcxproj文件

首先打开Ocaf.vcxproj文件

文件在下面的目录中

C:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\samples\mfc\standard\06_Ocaf\adm\win\vc10

注:以下所有的报错信息都是我个人在实际调试中遇到的,如果与你的报错不一样,那只能祝你平安了my brother

此时如果直接运行,不出意外是会出意外的

错误列表截图如下

 解决方案:

在Ocaf属性页中,打开C/C++菜单,选择常规->附加包含目录,在其中加入如下目录

C:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\inc

注:关于这个目录怎么来的问题,你搜索一下报错的第一个文件Standard_ShortReal.hxx文件,是不是能发现搜出两个同名文件,分别在两个文件夹中???此处秀一下工地英语,inc文件夹一般指include,也就是项目中需要包含的文件。

包含了inc文件目录之后,再次运行,不出意外也是要出意外的

错误列表截图如下

 解决方案:

在Ocaf属性页中,直接选择第一个常规,找到Windows SDK版本,更改为10.0.17763.0

这时再运行,依旧会报错。错误列表截图如下

 解决方案:

打开Ocaf属性页,直接选第一个常规,找到平台工具集,选择Visual Studio 2017(v141)

第四次运行,报错信息如下:

解决方案:

Ocaf属性页,选择链接器->常规->附件库目录,添加文件目录

C:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\win64\vc14\lib

到这里,咱们准备工作就算做完了,此时运行后报错应该是:无法打开文件mfcsample.lib

Warning:这里的报错非常坑爹,一共调试了三天,其中两天在搞这个报错。还有,这个文件别费精神去找了,压根没这个文件,需要自己去编译生成

三、调试mfcsample

打开文件目录:C:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\samples\mfc\standard\mfcsample\adm\win\vc10

你会看见一个文件 mfcsample.vcxproj,调试出mfcsample项目,就算成功一半

关闭Ocaf项目,然后打开mfcsample.vcxproj文件(关闭Ocaf主要是怕你把mfcsample的设置给设置到Ocaf中去),把之前Ocaf的设置,全部在mfcsample中再设置一遍,总结如下

1、更改Windows SDK为10.0.17763.0

2、选择平台工具集Visual Studio 2017(v141)

3、链接器 -> 添加库目录
        C:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\win64\vc14\lib

4、C/C++ -> 附加包含目录
        C:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\inc

然后运行后报错信息如下

 解决方案:

打开mfcsample属性页,链接器->高级->目标计算机,更改为MachineX64 (/MACHINE:X64)

此时再运行,你会发现一个非常郁闷的东西

之前报错信息的第一个写的是:模块计算机类型“x64”与目标计算机类型“x86”冲突

而在经过更改目标计算机后,报错信息变成了:模块计算机类型“x86”与目标计算机类型“x64”冲突

经过我不懈的努力,我发现

在【本地Windows调试器】旁边,默认是x86,你将他改成x64,问题就解决了

此时再运行,它还是跑不出来,报错信息如下

 但是!!!重要的事情说三遍!!!

到此为止!到此为止!到此为止!!!

你到目录C:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\samples\mfc\standard\win64\libd中去看看,你会发现这个mfcsample.lib居然生成出来了(如果没经过之前的步骤,这里会是空的)

此时,将Win64下的bind文件夹和libd文件夹复制一份,搬到目录C:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\samples\mfc\standard\win32

注意点:复制的是文件夹!!!你要是勤快,也可以将两个文件夹下的文件分次搬到win32下对应的文件夹下

这时mfcsample的问题就算是解决了

四、继续调试Ocaf

关闭mfcsample项目,打开Ocaf项目,运行一下,报错信息如下

 是不是感觉很眼熟,跟之前mfcsample项目报错一模一样,解决方案当然也是一样的,如下:

打开Ocaf属性页,链接器->高级->目标计算机,更改为MachineX64 (/MACHINE:X64)

然后再把【本地Windows调试器】旁边的x86更改为x64

这时候运行应该依旧是会报错的,会告诉你找不到TKBin.dll、TKXml.dll、TKVRML.dll、TKSTL.dll这些文件,

这个问题解决方案如下:

打开下面的文件目录

C:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\win64\vc14\bin

报错说找不到的文件都在这个文件夹中,将这个文件夹中所有的.dll文件放进文件目录C:\Windows\System32下(同名文件可跳过)。

注:全部搬进去是因为如果你只拷贝了他报错的四个文件,确实你会发现之前的报错没了,但是他又再次报错缺少另外四个文件,这四个文件还是在那个bin文件夹中,再搬四个,又报错四个……,别问我怎么知道的

将dll文件全部拷贝进system32文件夹下之后,应该就能跑出Ocaf框架了

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值