源起

  今天使用 IfcOpenShell的IfcConvert ,因为是开源的所以就想自己编译下,编译过程中遇到不少问题,因此记录下来

什么是IfcOpenShell?

IfcOpenShell是一个开源(LGPL)软件库,可帮助用户和软件开发人员使用IFC文件格式。

开始前的准备

   visual studio 2015,设置环境变量  参考
   git,设置环境变量 
   cmake,设置环境变量

  源码下载 https://github.com/IfcOpenShell/IfcOpenShell

1.执行脚本

  运行cmd脚本不是直接打开windows的cmd运行的,而是打开vs的cmd

  打开VS,工具——>外部工具

  命令是机器上的cmd的地址

C:\Windows\System32\cmd.exe

  参数是vs的VsDevCmd.bat的地址

/k "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat"

  初始目录

D:\ifc\vs\IfcOpenShell\win

  根据实际路径修改

  点确定后,在工具栏就可以看到了

  打开刚才配置的 Command Prompt

  (1)运行脚本 build-deps

build-deps.cmd "Visual Studio 14 2015 Win64" Debug

  说明:

  可能发生错误,大部分原因是网络情况不好库文件下载中断,多运行几遍,或者翻墙再执行

  (2)运行脚本 run-cmake.bat

run-cmake.bat "Visual Studio 14 2015 Win64"

  默认为支持IFC2X3版本,如果需要IFC4版本

run-cmake.bat "Visual Studio 14 2015 Win64" -DUSE_IFC4=

  说明:

    如果出现Looking for pthread.h - not found

    原因:build-dep命令下载了icu-58.2-vs2015,但未将其解压缩到deps-vs2015-x64-installed/icu。这导致run-cmake退出并出现有关UNICODE的错误

    解决:

      手动提取icu文件

        deps/icu-58.2-vs2015/include/unicode -> deps-vs2015-x64-installed/icu/include/unicode

        deps/icu-58.2-vs2015/lib64 -> deps-vs2015-x64-installed/icu/lib

  构建生成的文件写入了build-vs2015-x64中

2.编译

  IfcOpenShell.sln在build-vs2015-x64中,用VS2015打开

  编译

  编译后在 build-vs2015-x64/Debug 下

2.测试

  复制IfcConvert.exe到D:\ifc

  运行 IfcConvert cylinders.ifc cylinders.dae

  查看 cylinders.dae

注:

  上面生成的为Debug的,如果想生成Release的,步骤为

    (1)build-deps.cmd "Visual Studio 14 2015 Win64" Release

    (2)run-cmake.bat "Visual Studio 14 2015 Win64"

    (3)用VS2015打开IfcOpenShell.sln

    (4)生成

    

最新文章

  1. ILGenerator.Emit动态 MSIL编程(二)之基础
  2. 帝国CMS备忘
  3. C/C++ static vs global
  4. mcrypt加密与解密
  5. Linux下用户及用户组的管理
  6. oracle恢复被覆盖的存储过程
  7. PHP Strict standards:Declaration of … should be compatible with that of…(转)
  8. 【转】android应用开发全程实录-你有多熟悉listview?---不错
  9. 用JQuery实现表格隔行变色和突出显示当前行
  10. 【Android进阶】SlidingMenu实现侧滑栏效果的实现
  11. C/C++对bool operator < (const p &a)const的认识,运算符重载详解(杂谈)
  12. Unity strip engine code可能会使程序崩溃
  13. 计算机网络相关:应用层协议(二):HTTP
  14. Windows提示 错误: RPC 服务器不可用 解决方法。
  15. icpc2018焦作-I. Distance
  16. [daily][gnucash] 复式记账
  17. WP8.1学习系列(第二十四章)——Json解析
  18. 通过Servlet生成验证码图片(转)
  19. 腾讯云-NGINX搭建静态网站
  20. 4款基于html5 canvas充满想象力的重力特效

热门文章

  1. wordpress时间函数the_time() 实例解读
  2. 教你如何解决WIN 10系统睡眠无法唤醒
  3. HUSTOJ 有序表的最小和
  4. 腾讯蓝鲸cmdb部署
  5. 常用方法 Entitys转换为DataTable
  6. 如果设置Redis客户端的超时时长?
  7. div模拟textarea且高度自适应
  8. jupyter的补充
  9. uni-app下拉刷新加载刷新数据
  10. GoCN每日新闻(2019-11-02)