话说,OpenCASCADE团队真的很给力,版本更新速度也是嗖嗖地。依稀记得上次编译OCC,那时候的第三方库、OCC本身几何引擎库,全都得自己编译。

于是,编译过程之艰苦也就可想而知了。最近重换系统,所以需要重新搭建OpenCASCADE环境,突然发现OCC已经到6.6.0版本了,果断选择最新版本。然后编译OCC、第三方库、自带例子都相当地顺利。 没有以前那么复杂了,窃喜之。



接下来,将编译过程记录如下:



1、在www.opencascade.org上下载Opencascade6.6.0.exe,并指定目录安装。



接下来,开始编译各个模块。



2、OCC6.6.0考录了多个VS版本的编译,所以VS08,VS10都可以顺利编译OCC。当OpenCASCADE安装好后,进入安装目录../OpenCASCADE/ros/adm/msvc

这个目录有vc8, vc9, vc10, vc11。如果你的是VS2008,进入vc09文件夹,如果你的是VS2010,进入vc10文件夹(这两个文件夹是经过测试,并且绝对好用的,这里笔者是用的VS2008)。打开OCCT.sln



3、打开OCCT.sln过后,在 解决方案资源管理器中,可以看出有7个文件夹,也就是需要编译的七个模块。

接下来,按照以下顺序编译各个模块:

*. Foundation Classes 



*. Modeling Data 



*. Modeling Algorithms 



*. Visualization 



*. Application Framework 



*. Data Exchange 



*. Draw 



具体编译操作:右键单机文件夹,点击 生成。 然后就慢慢等,每个模块编译时间 几分钟到几十分钟不等。

在编译过程种,可能会出现一些问题,比如找不到ft2build.h文件,无法打开K3d.lib等问题,这是由于工作环境中某些库和头文件没正确包含的原因,这时候,需要在VS环境中,进行设置。具体设置如下:

工具 ->  选项 -> 项目和解决方案 -> VC++目录 在下拉菜单中,分别对 包含文件(头文件) 和 库文件(lib文件)对应的目录添加上。(前提是你编译时错误,错误一般会报打不开某个.h文件或者哪个.lib文件,这时候,在OCC6.6.0目录中搜索缺少文件,得到其所在目录,加入到上面说的包含文件
和 库文件 中.在这里,笔者建议将OCC6.6.0安装目录下的3rdparty和ros两个文件夹中的所有include以及lib/libd文件夹全添加进去,这样就能保证 生成过程不会因为缺少或者打不开某个.h/.lib文件而出现错误)。





在编译过程中,会出现警告:有三个环境变量没设置,提示找不到$(CSF_DEFINES),$(CSF_OPT_LIB32D),$(CSF_OPT_INC)这三个环境变量。这个警告貌似可以不用管他。



4、待七个模块编译完成,接下来应该编译例子了。在occ6.6.0\ros\samples\mfc\standard\All-vc9.sln,待开过后,选中某个项目,比如ocaf,设置为启动项,点击生成,这时候生成应该没什么问题,只是在运行的时候,会提示缺少库,比如TKOpenGl.dll等,这时候,需要进行如下设置:



a、环境变量的设置

我的电脑点右键->属性->选高级选卡->环境变量:把里面的path指向vs下vc的bin,在C:\windows下建空文件夹tmp把环境变量tmp指向刚才新建的文件夹,把lib指向vc的lib,include指向vc的include。

b、将Open Cascade安装目录下的.dll文件拷贝到C:\windows\system32中。(包括第三插件的dll文件)对于这个步骤,假如没添加的话,运行时会一直出错,错误就是缺少***.dll,碰到这种情况,先通过查找dll文件的位置,然后将该位置的所有.dll
.exp等文件全拷贝到 C:\windows\system32目录下(这里是我找到的唯一的方法,解决缺少dll问题。假如有童鞋找到其他方法解决这个问题,欢迎留言告知。共享一下,谢谢了)

5、现在应该就能运行起来了。接下就可以进行建模软件开发旅程了。。

转载自:http://blog.csdn.net/coutsomebody/article/details/17143157

在VS中编译Opencascade6.6.0的更多相关文章

  1. 在vs2010中编译log4cxx-0.10.0详细方法(从下载、编译、解决错误详细介绍)

    在vs2010中编译log4cxx-0.10.0详细方法(从下载.编译.解决错误详细介绍) http://blog.sina.com.cn/s/blog_a459dcf501013tbn.html

  2. 在vs2010中编译log4cxx-0.10.0详细方法

    本文一共包含了17个步骤,按照下面的步骤就可以完成vs2010中编译log4cxx的工作了. 1. 下载 log4cxx 以及 apr 和 apr-util 源码: a) http://www.apa ...

  3. 使用MSYS2环境中编译Qt5.5.0的补丁

    Qt的configure脚本对MinGW静态编译支持不太完善,总有这样那样的问题.如果你不嫌麻烦,而且可以接受高版本的Qt的话,可以考虑使用我做的补丁在MSYS2环境中编译.Qt5.4.2的补丁 Qt ...

  4. CentOS7中编译安装redis5.0

    1. 环境介绍 CentOS7 (未安装Development Tools) 2. 下载Redis5.0-rc3 wget -O redis-5.0-rc3.tar.gz https://github ...

  5. 在vs2010中编译log4cxx-0.10.0具体方法(从下载、编译、解决错误具体介绍)

    一. 简单介绍 log4cxx是Java社区著名的log4j的c++移植版.用于为C++程序提供日志功能,以便开发人员对目标程序进行调试和审计,log4cxx是apache软件基金会的开源项目,基于A ...

  6. (原)ubuntu16中编译boost1.61.0库

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5797940.html 参考网址: http://www.boost.org/doc/libs/1_61 ...

  7. 在docker容器中编译hadoop 3.1.0

    在docker容器中编译hadoop 3.1.0 优点:docker安装好之后可以一键部署编译环境,不用担心各种库不兼容等问题,编译失败率低. Hadoop 3.1.0 的源代码目录下有一个 `sta ...

  8. 编译protobuf-2.5.0中的错误处理

    最近在编译protobuf-2.5.0源码的时候发现的错误已经应对方法 1. 在源码目录执行 ./configure 命令的时候,发生如下错误 error: C++ preprocessor &quo ...

  9. linux下编译gcc6.2.0

    linux下编译gcc6.2.0 在archlinx的下gcc已经更新到6.2.1了,win10的WSL下还是gcc4.8.官方源没有比较新的版本,于是自己编译使用. GCC6的几个新特性 GCC 6 ...

随机推荐

  1. Storm 测试

    本文将学习如何使用java创建Storm拓扑 Storm集群的组件 Storm集群类似于Hadoop集群,只不过 Hadoop 上运行"MapReduce jobs", Storm ...

  2. mybatis中处理结果集映射

    单行结果集映射: 接口中方法返回值定义为Map类型,sql语句的resultType属性设置为map即可.这种情况默认把列名作为key,列中的值作为value. 也就是说用map<Strirng ...

  3. springboot配置文件application.properties更新记录(自学使用)

    #应用名称spring.application.name=demo #应用根目录server.context-path=/demo #应用端口server.port=8084 #错误页,指定发生错误时 ...

  4. POJ - 2406 ~SPOJ - REPEATS~POJ - 3693 后缀数组求解重复字串问题

    POJ - 2406 题意: 给出一个字符串,要把它写成(x)n的形式,问n的最大值. 这题是求整个串的重复次数,不是重复最多次数的字串 这题很容易想到用KMP求最小循环节就没了,但是后缀数组也能写 ...

  5. Java后端WebSocket的Tomcat实现(转)

    文章摘要随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了.近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通信,扩展了浏览器与服务端 ...

  6. 锋利的Jquery(点击显示隐藏div)

    点击显示隐藏div <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  7. 跟我一起使用socket.io创建聊天应用

    安装express插件 新建index.js var app = require('express')(); var http = require('http').Server(app); app.g ...

  8. BZOJ2741:[FOTILE模拟赛]L

    Description FOTILE得到了一个长为N的序列A,为了拯救地球,他希望知道某些区间内的最大的连续XOR和. 即对于一个询问,你需要求出max(Ai xor Ai+1 xor Ai+2 .. ...

  9. 点击回退时需要点击2次才可返回js

    为a加上window.location.href跳转页面时,再返回到此页面,再点击返回时需点击2次才能返回到前一个页面,原因竟然是href=“#”的原因,在html中#可做为锚点 http://blo ...

  10. webservice技术--服务器端

    1.webservice实现单点登录具体逻辑为 ①软通web端作为客户端,请求wi社区后台,进行登录请求 ②wi社区后台验证t,核实无误后,走登录逻辑,直接进入欢迎页 ③如果有错误,封装错误xml,返 ...