Win7-64bts-VS2012-CGAL4.7 安装

Win7-64bits-VS2012 安装 32bit CGAL4.7,记录如下:


准备工作

版本选择:VS2012只有32bit版的安装包
QT5.5.0 在 windows VS2012 下只有 32bit 安装包。这里由于 CGAL 需要展示 demo,就将所有依赖项都选择对应的 32bit。
需要说明的是调用的库的位数需要与程序位数保持一致:
- Use 32bit shared library from 64bit application?
- Linking 32-bit library to 64-bit program

相关组件版本如下:
- CGAL 4.7
- Visual Studio 2012 Professional
- Boost 1.58.0
- CMake 3.2.3
- QT 5.5.0 download confusion
- QT Visual Studio addin 1.2.2
另外一个需要注意的是:
- VS2012 与 QT VS addin 1.2.4 兼容性并不好,一打开就会提示插件启动失败,因此选择1.2.2版本的QT插件。
- CGAL 在安装过程中需要联网,并且Boost编译时需要较大的空间( 3G),需要注意留出相应磁盘空间。

安装

VS2012的安装就不再赘述,总体安装流程如下。

Boost

通过编译源码来生成相关 lib:

  • 打开命令行 cmd
  • 运行: c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat
    配置当前(cmd)适用于生成 x86,x64 或 arm 平台代码的环境。 如果未提供任何参数,vcvarsall.bat 将配置环境变量以面向 x86 平台,具体说明参见这里
  • 也可以直接在快捷菜单栏上找到:
    win->Microsoft Visual Studio 2012->Visual Studio Tools->xxx Native Tools Command Prompt直接进入到配置好了的 cmd 环境。
  • 将下载的boost压缩文件解压缩并跳转到解压缩目录下。
  • 运行: .\booststrap
  • 设置安装路径,stage 路径,指定生成静态\共享,单\多线程链接库文件:
    .\b2 stage toolset=msvc-11.0 --stagedir=<YOUR STAGE DIR> --build-dir=<YOUR BUILD DIR> address-model=32 link=static,shared threading=single,multi variant=debug,release
    多个编译器或多个版本编译器通过 toolset 来指定,具体参数意义可以.\b2 --help查阅,在这篇博文里也有很好的解释。
  • 在目录 <YOUR STAGE DIR> 中的就是编译的库文件 .lib, .dll。

CMake

安装包安装,需要注意的是勾选“Add CMake to system PATH for all users“。如果提示PATH为空或者检查PATH变量发现没有CMake目录,就需要手动添加目录到系统变量PATH中。

QT

安装包安装。同样的,如果没有就需要手动添加环境变量 QTDIR: C:\Qt\Qt5.5.0 和 PATH 中添加 C:\Qt\Qt5.5.0\bin。

QT addin

安装包安装。

CGAL

安装包安装,需要注意的是:

  • CGAL 需要联网下载组件 GMP 和 MPFR。
  • 保持默认:with GMP and MPFR, with examples and demos。
  • 选择32-bits platform for precompiled libraries。
  • 选择为所有用户添加环境变量,并且勾选 CGAL_DIR 和 添加 CGAL/auxiliary/gmp/lib to the PATH。
  • 检查环境变量,如果上述变量不存在就需要手工添加。现在下一步就是需要编译CGAL
  • 打开CMake软件。
  • 对源文件和生成可执行文件目录都选择CGAL安装目录(C:/Program Files/CGAL-4.7)。
  • 点击Configure。
  • 选择generator:找到本机32位 project file generator:Visual Studio 11 2012。如果选择win64,CMake生成的工程配置文件中会在命令行选项中添加 /machine:X64 导致模块计算机类型“x64”与目标计算机类型“X86”冲突”问题。
  • 点击Generate
  • 在安装目录里就生成了一个名为 CGAL 的解决方案,其中包含各个子工程。
  • 对ALL_BUILD工程在debug和release模式下生成。
  • 在安装目录的 lib 文件夹中就可以看到生成的库文件。
  • 添加相应的系统环境变量 CGAL_DIR,path 中添加库文件目录。

运行

  • 打开CMake
  • 源代码和目标目录都选择一个demo文件夹,例如C:\Program Files\CGAL-4.7/demo/Triangulation_2。
  • Configure, generate。
  • 打开生成的解决方案 .sln 文件并编译。
    triangulation-demo

其他说明

  • ALL_BUILD project :
    In the Visual Studio solution, the ALL_BUILD project is the default “Startup project”. You can change it by right-clicking the appropriate project in the Solution Explorer and choosing “Set as startup project”.
    来自这里
    在CGAL.sln中的目标文件是库文件因此不需要更改启动项目(startup project),Triangulation_2.sln是需要生成可执行的QT界面因此需要更改启动项目,以此避免按F5进行运行调试整个solution的时候就会提示启动项目Debug\ALL_BUILD无法启动的错误。
  • 如果不需要运行CGAL的demo,就不需要qt的支持,编译运行example里的控台程序也可以。其实demo就是通过qt进行前端可视化展示。CGAL4.7 之前的版本的demo是不支持QT5及以上版本的,因此选择4.7就必须选择Qt5以上版本。对应的4.7以下版本就需要QT5以下版本。
  • 几个相关的小工具:Dependency Walker 2.2DLL动态库检测工具 32位64位检测工具How to find if a native DLL file is compiled as x64 or x86?
    DUMPBIN.EXE 需要注意的是:
    You can start this tool only from the Visual Studio command prompt. You cannot start it from a system command prompt or from File Explorer.
    上面说的问题实际上就是在运行DUMPBIN之前需要设置好搜索目录,如果直接WIN+R CMD进入VC\BIN目录运行DUMPBIN就会提示“丢失mspdb110.dll”。
    而如果从VS编译器界面工具栏的tools->visual studio command prompt进入就没有这个错误,因为所谓的visual studio command prompt其实就是已经设定好搜索目录的cmd,在工具栏tools->外部工具,选择“visual studio 命令”提示就可以看到:
    /K "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"
    就是在cmd之前运行了vcvars.bat改变了当前环境变量。
    我们也可以从“win->所有程序->Microsoft Visual Studio 2012->Visual Studio Tools->兼容工具/本机工具/开发人员命令提示“中运行DUMPBIN,这些命令行工具其实都是cmd快捷方式,只是运行之前他们的设置参数都不一样,在这些命令提示工具上右键属性->快捷方式->目标栏中就可以看到他们的参数区别。

以上备忘。

参考:
Download CGAL for Windows
Installing CGAL and related programs on Windows operating system
Boost Simplified Build From Source

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值