Building OpenCascade on Windows with Visual Studio

eryar@163.com

摘要Abstract:详细说明OpenCascade的编译配置过程,希望对你编译OpenCascacde有所帮助。本文内容来自OCCT的Overview文档,详细信息可参考之。

关键字Key Words:OpenCascade、Compiling

一、源码包 Source package

OpenCascade的源码包中包括OpenCascade的源代码、示例程序源代码及预先编译好的二进制程序。编译工具也提供了,在Windows平台上是Visual C++的工程文件,在Unix平台上是Makefile。

二、目录文件说明 Description of the Directory Tree

  l ros/adm/cmake:包含CMake的创建过程;

  l ros/adm/lin/amk:包含Automake创建过程;

  l ros/adm/mac/cbp:包含Code::Blocks工程;

  l Ros/adm/mac/xcd:包含Xcode工程;

  l Ros/adm/msvc:包含Visual Studio工程,支持的Visual Studio版本有Visual C++ 2005,2008,2010,2012,可以在Windows平台上编译32位和64位的  OpenCascade;

  l Ros/data:包含各种文件格式的数据,可以在OCCT中试验用;

  l Ros/doc/Overview:包含简要介绍OCCT的文档;

  l Ros/doc/ReferenceDocumentation:包含由Doxygen生成的OCCT参考文档;

  l Ros/drv:包含由WOK生成的源代码文件;

  l Ros/inc:包含所有OCCT的头文件;

  l Ros/src:包含OCCT的源代码,它们以文件夹的方式组织,一个开发单元一个文件夹;

  l Ros/samples:包含OCCT的示例程序及其源代码。(C#和MFC的示例只适用于Windows平台。);

  l Ros/tests:包含OCCT的测试脚本;

三、先决条件 Common pre-requisites

l OpenCascade Technology使用经支持的编译器认证的STL实现。尽管源码也可以在其他实现上重新编译(如STLPort),但是OpenCascade S.A.S对其稳定性不作任何保证。

l 重新编译OpenCascade Technology需要2GB的可用硬盘空间;

l 编译之前,你需要重新编译或安装第三方库(必须的第三方库是:tcl/tk8.5.8,freetype2.4.10;可选的第三方库是:gl2ps1.3.5,freeimage3.14.1,tbb。);

四、编译设置 Building on Windows with Visual Studio project files

在编译之前,必须设置第三方库的头文件和库文件的路径。第三方库有TclTk,FreeType,FreeImage,gl2ps和TBB。可以在Visual Studio的工具->选项中的目录来设置,也可以配置批处理文件custom.bat来设置。最好是通过批处理文件custom.bat来设置。

gl2ps,TBB和FreeImage是可选的第三方库。通过变量CSF_DEFINES来指定是否在编译OpenCascade中使用他们。

l HAVE_TBB:若想在OCCT中使用Intel的TBB(内存管理);

l HAVE_FREEIMAGE:若想在OCCT中使用FreeImage;

l HAVE_GL2PS:若想在OCCT中使用gl2ps;

不使用上述的三个库的custom.bat文件内容如下所示:

n set HAVE_FREEIMAGE=false

n set HAVE_GL2PS=false

n set HAVE_TBB=false

这样定义在env.bat中产生在字符串的设置效果为: set CSF_DEFINES=。

使用上述三个库的custom.bat设置如下所示:

n set HAVE_FREEIMAGE=true

n set HAVE_GL2PS=true

n set HAVE_TBB=true

这样定义在env.bat中产生的字符串的设置效果为:

set CSF_DEFINES=HAVE_TBB;HAVE_FREEIMAGE;HAVE_GL2PS。

配置好custom.bat后,就可以用ros子文件夹中的msvc.bat来启动MS Visual Studio了,这样编译OCCT的环境变量已经设置好了。启动msvc.bat可以带可选参数:

l 参数1:启动的Visual Studio的版本(vc8, vc9, vc10, vc11);

l 参数2:系统架构(win32, win64);

l 参数3:编译模式(Debug, Release);

l 参数4:Visual Studio解决方案路径;

在Windows平台上编译生成的库(dll, dlld, lib, libd)和可执行程序(exe)分别在文件夹ros/win32/vc8, vc9, vc10, vc11,或64位的在ros/win64文件夹中。

文件夹ros/adm/msvc中包含vc8, vc9, vc10, vc11的Visual Studio工程文件,可用来分别生成32位和64位的OCCT。

下列所示的workspaces必须按顺序编译:

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)

另外,包含所有工程文件的解决方案文件OCCT.sln也提供了,可以用OCCT.sln来编译一个完整的OCCT库。即直接运行:

msvc.bat vc11 win64 Debug

Building OpenCascade on Windows with Visual Studio的更多相关文章

  1. 【Lua学习笔记之:Lua环境搭建 Windows 不用 visual studio】

    Lua 环境搭建 Windows 不用 visual studio 系统环境:Win7 64bit 联系方式:yexiaopeng1992@126.com 前言: 最近需要学习Unity3d游戏中的热 ...

  2. Windows下visual studio code搭建golang开发环境

    Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装 ...

  3. Windows 7 Visual Studio 2008配置OpenGL开发环境

    Windows 7 Visual Studio 2008配置OpenGL开发环境 glut下载地址: http://www.opengl.org/resources/libraries/glut/gl ...

  4. 代码从windows下visual studio到andriod平台迁移的修改记录

    前言 前言也是迁言,从windows的visual studio 2012平台迁移到android平台上,需用修改挺多的代码和需用注意地方. 我们当然的平台当初就考虑了其他平台跨平台的应用问题,所以一 ...

  5. Windows下Visual studio 2013 编译 Audacity

    编译的Audacity版本为2.1.2,由于实在windows下编译,其源代码可以从Github上取得 git clone https://github.com/audacity/audacity. ...

  6. 使用GitHub For Windows托管Visual Studio项目

    本文写得比较早,更新的在VS上使用GitHub的文章请移步:Visual Stuido 2015 Community 使用 GitHub 插件 因为最近同时再看很多技术方面的书,书上的例子有很多自己想 ...

  7. windows下Visual Studio Code 1.9安装

    点击送你去官网下载vs code 进入下载页面如下 下载完成双击安装 安装完成打开之后如下图,最新版的默认中文就挺好的! 注意下面是微软建议: Note: .NET Framework 4.5.2 i ...

  8. Windows 使用 Visual Studio 编译 caffe

    说明:最近看 caffe 发现在 github 上下载的源码没有windows版本的,需要自己生成项目文件才能用 Visual Studio 编译,这里记录一下生成Windows项目文件的方法以及编译 ...

  9. windows通过Visual Studio Code中配置GO开发环境(转)

    一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github ...

随机推荐

  1. 热浪[TYVJ1031]

    描述 德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品.Farmer John此时以先天下之忧而忧,后天下之乐而乐的精神,身 ...

  2. python 基础之数据类型

    一.python中的数据类型之列表 1.列表 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 二.列表常用操作 >切片>追加>插入>修改& ...

  3. React虚拟DOM浅析

    在Web开发中,需要将数据的变化实时反映到UI上,这时就需要对DOM进行操作,但是复杂或频繁的DOM操作通常是性能瓶颈产生的原因,为此,React引入了虚拟DOM(Virtual DOM)的机制. 什 ...

  4. Shell 快捷键

    输入bind -P可以查看所有的键盘绑定 Ctrl + Shift + '-' 缩小shell框Ctrl + Shift + ‘+' 放大shell框 CTRL相关的快捷键Ctrl-A 相当于HOME ...

  5. bzoj3674同上(好短)

    +强在 就过了 既没有启发式又没有路径压缩,连建树都用的是代码最短的写法(什么心态,每天追求代码短) 话说回来 可持久化的数组感觉只能出类似裸题的题目,,,,藏也藏不住啊 #include <c ...

  6. CSS常用布局学习笔记

    水平居中-行内元素 如果是文字和图片这类的行内元素,则在其父级元素上加上样式:text-align:center; 水平居中-定宽块元素 div{ width:100px; margin:0 auto ...

  7. src/main/Java路径下的properties文件丢失

    在pom中加入代码: <build> <resources> <resource> <directory>src/main/java</direc ...

  8. Python3.5 Day2作业:购物车程序

    需求: 1. 启动程序后,用户通过账号密码登录,然后打印商品列表. 2. 允许用户根据商品编号购买商品. 3. 用户选择商品后,检测余额是否足够,够就直接扣款,不够就提醒充值. 4. 可随时退出,退出 ...

  9. 仿JQ基础架构,可扩展。

    (function(win,doc,fn){     var events = [];//拷贝核心方法    var publicEvent = ["extend","f ...

  10. IntelliJ添加Emacs编辑器

    Intellij只支持emacs as a external tool: https://www.jetbrains.com/help/idea/2016.2/tutorial-using-emacs ...