OpenCasCade开发环境搭建(vs2010 编译编译源码)

目录

我的安装环境

OpenCasCade下载和安装

OpenCasCade编译、示例运行及使用

总结

我的安装环境:

Windows7 旗舰版 SP1 x64;

Visual Studio 2010 SP1;

OpenCasCade-6.7.1 源码包;

如图为OpenCasCade官方文档上列出的Requirements

Requirements

 

注意 Visual Studio 的版本要求。

OpenCasCade下载和安装

请自行到OpenCasCade官网进行下载,我下载的是下面的那个源码包。(上面的是针对VS2008 预编译好的,可以直接使用,库文件什么的都已经生成好了。使用方法参见后文。)

QQ截图20141009155921

解压后的OpenCasCade目录如图:2014-10-09_155518

 

接下来,下载适合自己编译器版本的第三方库(官方下载地址):

QQ截图20141009160255Note:这里的第三方库都是根据相应的平台编译生成好的,直接下载解压即可使用。如果不从这里下,而是从各个第三方库的官网下载,则需要自己根据平台自行编译对应的版本,下面也会告诉你怎么自己编译生成。

OpenCasCade编译、示例运行及使用

1. 确保你下载安装了所有需要的第三方库(对照上图)

OCCT使用两种类型的第三方库:

强依赖(必须的):

  • Tcl/Tk 8.5 – 8.6;
  • FreeType 2.4.10 – 2.4.11.

弱依赖(可选的):

  • TBB 3.x – 4.x;
  • gl2ps 1.3.5 – 1.3.8;
  • FreeImage 3.14.1 -3.15.4.

安装强依赖的第三方库:

Tcl/Tk

新建一个occ3rdparty文件夹,专门用来放置第三方库。把下载的Tcl/Tk 解压到文件夹中。Tcl/Tk是之后运行 DRAW 测试程序所必须的。

FreeType

FreeType是3D窗口中,文字表现所必须的。解压下载的FreeType到occ3rdparty文件中即可。

如果你不是从上图适配过的第三方库链接下载的(是的跳过,比如你从其自身官网下载,则需要自己编译,方法很简单,打开工程目录freetype\builds\win32\vc20xx\freetype.sln中的项目工程,vc20xx 代表你的VS版本)。

选择生成配置:Debug 或 Release都可以。

生成项目,你会在目录freetype\obj\win32\vc20xx下找到生成的导入库文件(.lib)。(要注意导入库和静态链接库的区别,虽然它们的后缀都是.lib)

如果你想生成用于x64 平台的FreeType,则选择 Build – Configuration Manager,并通过复制x86平台上的配置来添加x64平台的项目配置。如图:

3rdparty_image001

同时为 x64项目配置 更新输出文件目录:

3rdparty_image003同样,你会在目录freetype\x64\vc20xx下得到 x64 的导入库文件(.lib)。

骚等,还没完,接着用下面几步,我们要来生成FreeType的动态链接库文件(.dll)。

打开菜单 Project-> Properties-> Configuration Properties-> General,把 Configuration Type 改为 Dynamic Library (.dll).

编辑头文件 freetype\include\freetype\config\ftoption.h:

在第255行,去掉 FT_EXPORT  宏定义的注释,如下:

再次生成FreeType工程,最后你会在目录freetype \objs\release 或 \objs\debug 得到包含一个导入库(.lib)和动态链接库(.dll)。

如果你要生成x64版本的,则重复之前的方法。

安装弱依赖的第三方库

TBB

下载解压即可。

QQ截图20141009165720

gl2ps

下载解压即可。

若不是从上述适配过的版本链接下载的,而是自己从gl2ps的官方网站进行下载的,则需要自己编译。

很简单,

在Visual Studio中打开项目文件 gl2ps_bin\gl2ps.sln。

  • 选择生成的配置选项
    • Choose Release to build Release binaries.
    • Choose Debug to build Debug binaries.
  • 选择生成的平台
    • Choose Win32 to build for a 32 bit platform.
    • Choose x64 to build for a 64 bit platform.
  • 编译生成该工程
  • 编译生成 INSTALL 工程

FreeImage

下载解压即可。

若不是从上述适配过的版本链接下载的,而是自己从FreeImage的官方网站进行下载的,则需要自己编译。

略麻烦:

  1. 解压下载的FreeImage到occ3rdparty目录。

    根据如此规则来重命名文件夹: freeimage-platform-compiler-building mode,其各个代表的意思为

    • platform 代表你的是 win32 还是 win64
    • compiler 代表的是 vc8 还是 vc9 还是 vc10 还是 vc11
    • building mode 代表的是 opt (release版本) 还是 deb (debug版本)
  2. 用你的Visual Studio 打开项目文件 freeimage\FreeImage.*.sln*。

    如果你的VS版本高于2008,则应用转换。

  3. 选择生成配置。

    • Release
    • Debug

    注意:

    如果你想生成 FreeImage 的 debug 版本,你需要重新命名FreeImage和FreeImagePlus工程中的以下文件:

    Project -> Properties -> Configuration Properties -> Linker -> General -> Output File

    Project -> Properties -> Configuration Properties -> Linker -> Debugging-> Generate Program Database File

    Project -> Properties -> Configuration Properties -> Linker -> Advanced-Import Library

    Project -> Properties -> Configuration Properties -> Build Events -> Post -> Build Event -> Command Line

    此外, 重命名FreeImagePlus工程里的相关配置:

    Project -> Properties -> Configuration Properties -> Linker -> Input -> Additional Dependencies

  4. 选择生成平台
    • Win32
    • x64
  5. 开始生成

    最终你会在目录freeimage\Dist folder 得到库文件(FreeImage.dll and FreeImage.lib) 以及 在freeimage\Wrapper\FreeImagePlus\dist 得到(FreeImagePlus.dll and FreeImagePlus.lib).

OpenCL ICD Loader

下载解压即可。

这个不建议自己到OpenCL ICD Loader官网下载编译,所以不介绍怎么编译生成。

 

 2. 使用Visual Studio建立OCCT

  1. 编辑脚本文件 custom.bat 来 定义你的环境:
    • VCVER – version of Visual Studio (vc8, vc9, vc10, vc11 or vc12), and relevant VCVARS path
    • ARCH – architecture (32 or 64), affects only PATH variable for execution
    • HAVE_* – flags to enable or disable use of optional third-party products
    • CSF_OPT_* – paths to search for includes and binaries of all used third-party products
  2. 接着运行 msvc.bat 脚本文件开始运行 Visual Studio。

    注意:  MSVC 工程文件是放在目录 adm\msvc\vc[9-12] 里的。二进制文件在 win32 或 win64 文件夹中.

  3. 建立生成项目

修改后我的custom.bat文件(改成了VS2010),要改的很多,尤其是头文件、导入库、以及动态链接库的目录,要逐一修改为你现在的目录(细心的童鞋可能会发现,其实如果开始第三方库直接放在OpenCasCade的根目录,且每个名字都重命名为 freetype-2.5.3-%VCVER%-%ARCH% 的形式,%VCVER%和%ARCH%代表的值参见上面,则后期在custom.bat上就没必要修改那么多了。。o(╯□╰)o):

选择 项目->批生成->全选->生成 (网上很多说按照什么顺序来生成,告诉你,just let it go)如图:

QQ截图20141009213524

接下来是漫长的等待。结束后你会发现OpenCasCade的根目录下多出了两个文件夹 win32 和 win64,什么意思我想大家都明白。里面及包含了我设置的VS2010开发环境下所生成的Debug(文件夹名后都会加个d)Release两个版本的导入库动态链接库。码代码,调试代码,肯定要用带d的了咯!

QQ截图20141009215143我编译的时候遇到了如下错误:

谷歌了下,在 链接器 -> 输入 -> 附加依赖项 中添加 Advapi32.lib 即可。

也遇到了找不到“ft2build.h”的问题,尼玛!我明明在msvc.bat上加了相应的目录啊!也是醉了!

解决方法就是在 C/C++ -> 常规 -> 附加包含目录 添加目录”D:\Program Files\opencascade-6.7.1\occ3rdparty\freetype-2.5.3-vc10-32\include\freetype2″

具体方法如下:

设置的时候你可能会发现如图所示情况(工具-选项-VC++目录):

4

 

问谷歌,给的解决方法是,在属性管理器窗口,随便选择一个工程,点开选择Debug | Win32 – Microsoft.Cpp.Win32.user(这只是Debug | Win32版的配置更改,所有版本都要加上)

5

双击打开如图所示窗口,便可以进行设置了!

6

最后运行draw.bat脚本文件,你就可以看到示例窗口了!

1

 

3. 自己项目使用OCCT:

添加 附加包含目录 为:

选择链接器 – 输入 – 附加依赖项,点击下三角,编辑,复制以下库到其中:

添加 链接器 -> 常规 -> 附加库目录 (我把所有的lib文件都复制到了下面这个目录)

到此,你的程序就可以使用OCCT了。

接着咱们运行下 x:\x\OpenCASCADE6.7.1\opencascade-6.7.1\samples\mfc\standard 目录下的 All-vc10.sln,随便运行一个,结果如图:

NOTE:运行前请把, ~\opencascade-6.7.1\samples\mfc\standard\win32\vc10\libd\mfcsample.dll 文件 复制到目录 ~\opencascade-6.7.1\samples\mfc\standard\win32\vc10\bind\

否则会报如下错:

 

8

 

总结

整个过程其实不难,比起CGAL的开发环境搭建要简单很多,重要的是胆大心细,遇到问题分析原因,然后解决它。有问题请留言。


2014/12/8

根据网友反映的各种找不到dll文件问题,现添加如下内容,也是博主疏漏了。抱歉!

我的做法是把所有的dll文件(包括第三方库的)都复制到一个文件夹下,然后把此目录添加到用户环境变量PATH里。

QQ截图20141208200433

当然,你也可以把所有的dll文件一股脑塞到system32或者syswow64里,但是不建议这么做。


转:http://www.zyh1690.org/opencascade-development-environment-set-up/

猜你喜欢

转载自blog.csdn.net/eric_e/article/details/80720920