有網友在成功編譯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!