欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Opencascade 安装编译与 运行sample方法

程序员文章站 2022-05-30 10:12:31
...

opencasecade的安装编译其实不太难,下面记录一下我安装的过程。
安装编译
首先我下载的是open cascade和第三方插件的整合压缩包。
最新的能使用的是VS2017。首先压缩包解压,setup进行安装,选择完整安装即可。我安装在了D盘,安装之后,我将第三方插件都放在了同一文件夹便于管理。如图Opencascade 安装编译与 运行sample方法
之后更改open cascade-7.3.0里面的custom文件。
主要更改

set VCVER=vc141
set ARCH=64
set "VCVARS=%VS1410COMNTOOLS%..\..\VC\vcvarsall.bat"
set "PRODUCTS_PATH=%~dp0.."

还有把后面的路径修改为自己的路径

rem Additional headers search paths
set "CSF_OPT_INC=D:\OpenCASCADE-7.3.0-vc14-64\plug\vtk-6.1.0-vc14-64\include\vtk-6.1;D:\OpenCASCADE-7.3.0-vc14-64\plug\tcltk-86-64\include;D:\OpenCASCADE-7.3.0-vc14-64\plug\freetype-2.5.5-vc14-64\include;D:\OpenCASCADE-7.3.0-vc14-64\plug\freetype-2.5.5-vc14-64\include\freetype2;D:\OpenCASCADE-7.3.0-vc14-64\plug\freeimage-3.17.0-vc14-64\include;%PRODUCTS_PATH%\gl2ps-1.3.8-%VCVER%-%ARCH%\include;D:\OpenCASCADE-7.3.0-vc14-64\plug\tbb_2017.0.100\include;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\include;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\include\Qt;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\include\QtGui;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\include\QtCore;%PRODUCTS_PATH%\jdk1.6.0-%ARCH%\include;%PRODUCTS_PATH%\jdk1.6.0-%ARCH%\include\win32;D:\OpenCASCADE-7.3.0-vc14-64\plug\ffmpeg-3.3-lgpl-64\include"

rem Additional libraries (32-bit) search paths 
set "CSF_OPT_LIB32=D:\OpenCASCADE-7.3.0-vc14-64\plug\vtk-6.1.0-vc14-64\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\tcltk-86-64\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\freetype-2.5.5-vc14-64\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\freetype-2.5.5-vc14-64\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\freeimage-3.17.0-vc14-64\lib;%PRODUCTS_PATH%\gl2ps-1.3.8-%VCVER%-%ARCH%\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\tbb_2017.0.100\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\lib;%PRODUCTS_PATH%\jdk1.6.0-%ARCH%\lib;%PRODUCTS_PATH%\jdk1.6.0-%ARCH%\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\ffmpeg-3.3-lgpl-64\lib"

rem Additional libraries (64-bit) search paths 
set "CSF_OPT_LIB64=D:\OpenCASCADE-7.3.0-vc14-64\plug\vtk-6.1.0-vc14-64\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\tcltk-86-64\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\freetype-2.5.5-vc14-64\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\freetype-2.5.5-vc14-64\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\freeimage-3.17.0-vc14-64\lib;%PRODUCTS_PATH%\gl2ps-1.3.8-%VCVER%-%ARCH%\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\tbb_2017.0.100\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\lib;%PRODUCTS_PATH%\jdk1.6.0-%ARCH%\lib;%PRODUCTS_PATH%\jdk1.6.0-%ARCH%\lib;D:\OpenCASCADE-7.3.0-vc14-64\plug\ffmpeg-3.3-lgpl-64\lib"

rem Additional (32-bit) search paths
set "CSF_OPT_BIN32=D:\OpenCASCADE-7.3.0-vc14-64\plug\vtk-6.1.0-vc14-64\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\tcltk-86-64\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\freetype-2.5.5-vc14-64\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\freetype-2.5.5-vc14-64\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\freeimage-3.17.0-vc14-64\bin;%PRODUCTS_PATH%\gl2ps-1.3.8-%VCVER%-%ARCH%\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\tbb_2017.0.100\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\bin;%PRODUCTS_PATH%\jdk1.6.0-%ARCH%\bin;%PRODUCTS_PATH%\jdk1.6.0-%ARCH%\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\ffmpeg-3.3-lgpl-64\bin"

rem Additional (64-bit) search paths
set "CSF_OPT_BIN64=D:\OpenCASCADE-7.3.0-vc14-64\plug\vtk-6.1.0-vc14-64\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\tcltk-86-64\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\freetype-2.5.5-vc14-64\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\freetype-2.5.5-vc14-64\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\freeimage-3.17.0-vc14-64\bin;%PRODUCTS_PATH%\gl2ps-1.3.8-%VCVER%-%ARCH%\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\tbb_2017.0.100\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\qt591-vc14-64\bin;%PRODUCTS_PATH%\jdk1.6.0-%ARCH%\bin;%PRODUCTS_PATH%\jdk1.6.0-%ARCH%\bin;D:\OpenCASCADE-7.3.0-vc14-64\plug\ffmpeg-3.3-lgpl-64\bin"

set "QTDIR=%PRODUCTS_PATH%\qt591-%VCVER%-%ARCH%"

修改完之后就可以双击custom文件,然后双击msvc文件。启动vs2017.
启动之后,按照以下顺序依次生成文件:
1. Foundation Classes (file FoundationClasses.sln)
2. Modeling Data (file ModelingData.sln)
3. Modeling Algorithms (file ModelingAlgorithms.sln)
4. Visualization (file Visualization.sln)
5. Application Framework (file ApplicationFramework.sln)
6. Data Exchange (file DataExchange.sln)
7. Draw (file Draw.sln)

在编译过程中,可能出现三种问题。
首先是vs找不到 Windows SDK 版本8.1。这个问题是在安装vs的过程中安装的SDK版本和项目使用不同。此时可以同时选中所有项目 。右击选择属性,在 配置属性 ->常规 里面,将SDK版本改为自己安装的版本。
Opencascade 安装编译与 运行sample方法
然后是找不到xxx.lib。此时只需要右键生成失败的项目,选择 属性 在 链接器->输入->附加依赖项 处添加文件的名字(例如tbb_debug.lib)。然后再在链接器->常规->添加库目录 处添加文件所在的位置路径。
Opencascade 安装编译与 运行sample方法
Opencascade 安装编译与 运行sample方法
如果上面更改了custom里面的路径,就应该只会出现tbb_debug.lib无法找到。
最后是xxx.h无法找到,此时只需右键,属性->C/C+±>常规->附加包含目录添加文件的位置路径即可。Opencascade 安装编译与 运行sample方法
编译sample
在opencascade生成完毕之后,在D:\OpenCASCADE-7.3.0-vc14-64\opencascade-7.3.0\win64\vc14\bind目录下生成N多dll文件,把这些dll文件和第三方插件的dll文件一起拷贝到C:\Windows\system32和C:\Windows\SysWOW64文件夹下。(第三方插件的dll都在其bin文件夹中如:D:\OpenCASCADE-7.3.0-vc14-64\plug\ffmpeg-3.3-lgpl-64\bin)。
复制完成之后,就可以点开D:\OpenCASCADE-7.3.0-vc14-64\opencascade-7.3.0\samples\mfc\standard\All-vc141.sln。运行vs2017。然后生成所有项目。生成过程中可能出现几个问题:
先是未定义平台工具集,这个此时可以同时选中所有项目 。右击选择属性,在 配置属性 ->常规 里面,将平台工具集版本改为自己安装的版本。
Opencascade 安装编译与 运行sample方法
其他的问题就和上面的解决方法一致。

相关标签: open cascade