2023年12月29日发(作者:)

使用VS2008 编译OpenCascade6.5(Debug版本)的步骤

OCCT 6.5缺省提供的运行库是使用VC2005编译的。如果OCCT6.5需要在VC的其他版本中使用,首先要使用相应的VC编译OCCT 6.5.因为OCCT6.5相比以前的版本使用了较多的第三方库,所以编译的过程相对较复杂。

1:下载FreeType 2.3.7(/projects/freetype/files/).解压后放在一个目录中。例如C:Program FilesDevToolsOpenCASCADE6.5.03rdpartyfreetype。然后启动VC2008,打开

C:Program

文件。

这个工程是一个Static Library (.lib)。我们需要编译”Debug Multithreaded”项目。编译完成后,在目录C:Program FilesDevToolsOpenCASCADE6.5.03rdpartyfreetypeobjs中产生了一个freetype237MT_的静态链接库。这个工程用于OCCT的Visualization模块中的文字渲染。

2:下载FTGL2.1.2(/projects/ftgl/files/). 解压后放在一个目录中。例如C:Program FilesDevToolsOpenCASCADE6.5.03rdpartyFTGL。然后启动VC2008,打开C:Program FilesDevToolsOpenCASCADE6.5.03rdpartyFTGLwin32_vcpp 文件.

这个工程是一个动态链接库(DLL).工程中包含有5个项目.OCCT只需要ftgl_dll.因此我们只需要编译这个项目即可(其他的项目因为缺少必要的文件而编译不成功).

ftgl_dll项目有Debug,Debug DLL, Debug MT等编译选项。这里我们需要使用Debug MT编译选项。

这个工程使用了前面的FreeType库,但工程中使用的是FreeType 2.0.5.因此我们需要修改一些设置.如下图

应该修改成这样:

编译完成后,在目录

C:Program FilesDevToolsOpenCASCADE6.5.03rdpartyFTGLwin32_vcppBuild中产生了ftgl_dynamic_MTD_和ftgl_dynamic_MTD_这两个文件。这两个文件将在OCCT的TkOpenGL工程中使用到。

另外,最好将ftgl_dynamic_MTD_文件拷贝到目录:

C:Program FilesDevToolsOpenCASCADE6.5.03rdpartywin32ftglbin中。因为后面的OCCT的批处理文件都是将ftgl的目录指定到这里。如果不拷贝的话,有可能会导致无法找到ftgl_dynamic_MTD_文件,进而无法正确启动。导致OCCT的例子程序无法启动。

3:使用VC2008编译Opencascade6.5的工程文件, Opencascade6.5的各个工程文件位于C:Program FilesDevToolsOpenCASCADE6.5.0rosadmwin32vc9目录下。共有7个VC工程文件,它们的编译顺序是:

FoundationClasses

ModelingData

ModelingAlgorithms

Visualization

ApplicationFramework

DataExchange

Draw

在编译OCCT的Visualization模块中的TkOpenGL工程时,我们需要修改一下编译设置。因为我们现在编译的是Debug版本。但TkOpenGL工程在编译Debug的时候,使用的却是ftgl_dynamic_。即使用的ftgl的Release版本,虽然运行没有问题,但我们前边编译的ftgl库都是Debug版本,因此我们需要修改编译设置(如果要编译OCCT的Release版本的话,则不需要进行此次修改)。如下图:

为了能让VC找到相应的库,需要设置VC的Include和lib文件目录。增加如下的目录

Include files

C:Program FilesDevToolsOpenCASCADE6.5.03rdpartyfreetypeinclude

C:Program FilesDevToolsOpenCASCADE6.5.03rdpartyFTGLinclude

Library files:

C:Program FilesDevToolsOpenCASCADE6.5.03rdpartyFTGLwin32_vcppBuild

如下图:

编译Draw时,需要TCL库。可以在这里下载TCL 8.5

(/activetcl/downloads),下载完成后,安装TCL库到一个目录中。例如(C:Program FilesDevToolsOpenCASCADE6.5.03rdpartytcl)。然后在VC2008的Option中设置Include和Lib目录。如下图:

转载请声明,谢谢(openinventor@)