有网友在成功编译Opencascade后,在编译调试Opencascade的一些例子时会出现一些问题,本文在此略做整理,以飨读者。
一、基本配置
Win32 + VS2008 + Opencascade6.7.1
Opencascade的编译,可借鉴博文:VS2008如何编译Opencascade
二、批编译设置
同样,关于Opencascade一些samples的编译同样采用批编译指令
进入Visual Studio 2008 命令提示,点击运行
进入Opencascade的samples所有目录,如下所示:
在后面同样添加:空格vc9
回车,启动vs2008,但遇到如下所示错误:
“命令行中指定了以下文件:
未能找到这些文件,将无法加载。”
解决方法:
打开Opencascade6.7.1目录下的msvc.bat,注意Opencascade6.7.1目录下,并非stardard目录下的msvc.bat
右击msvc.bat,选择编辑,修改内容如下:
此处与早期版本相比是多了个引号,将引号去掉即可,修改后将msvc.bat保存一下。
重新打开VisualStudio 2008 开发命令,将Opencascade-6.7.1\samples\mfc\standard目录下的msvc.bat重新拖入,并在其后添加:空格vc9
重新载入解决方案,如下所示:
注意:对于一些同学计算上可能安装了VC6.0,完成上述操作后可能会自动进入VC6.0编译环境,这时会报出以下错误:
“The selected file is not a valid Visual Studio solution file.”
因为VC6.0开发环境不能打开高版本的解决方案。
解决方法如下,打开VC6.0安装路径C:\ProgramFiles\Microsoft Visual Studio\COMMON\IDE\IDE98,将DEVENV.EXE暂移至别处
重新将msvc.bat拖入命令行,回车调出以下界面,选择Microsoft Visual Studio Version Selector即可。
三、编译
编译的顺序,需先将mfcsample编译,如下图所示:
然后再编译Modeling,及编译成功,如下所示:
点击Debug调试,如出现以下错误,这时需要手动添加dll文件。
解决方法:
将所有的dll文件(包括第三方库),以及mfcsample.dll文件,拷贝至Modeling执行文件生成目录:opencascade-6.7.1\samples\mfc\standard\win32\vc9\bind
其中mfcsample.dll生成目录为如下图所示:
可修改此目录,使其生成于Modeling.exe运行目录,设置方法如下所示:
Opencascade-6.7.1对应的dll文件皆件皆存在于D:\opencascade\OpenCASCADE6.7.1\opencascade-6.7.1\win32\vc9\bin
第三方库文件的dll皆存在于各个文件夹下的bin中,以便freeimage第三方库为例,其dll文件存在于 D:\opencascade\OpenCASCADE6.7.1\freeimage-3.16.0-vc9-32\bin,如下图所示:
其它第三方库dll文件与此相似,不再逐一说明
将上述dll文件皆拷贝至Modeling运行目录opencascade-6.7.1\samples\mfc\standard\win32\vc9\bind,如下图所示:
重新Debug调试,即可调试出如下界面:
Enjoy it!