注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

八哥吧室

那山沟里真的有山花吗

 
 
 

日志

 
 
 
 

CMake安装笔记  

2009-10-11 22:45:07|  分类: 电脑应用 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
一篇网上搜索到的CMakeList编写说明文档(用迅雷下载,或Skydrive下载)

下面是CMake的使用(使用的是2.8版本,其他版本提示或者界面可能有所不同)。
在CMake中有两个目录需要指定:一个是源代码目录(Where is the source code),一个是工程文件目录(Where to build the binaries)。源代码目录是你要生成工程的源代码所在的目录,而工程文件目录是要生成的工程的目录,不要将工程目录和源代码目录弄成一个,否则生成之后也分不清哪些是工程文件,哪些是源代码文件了。
点击Configure,如果是第一次点击后出现一个对话框让你选择使用何种编译器,请选择你所安装了的编译器,如Visual Studio 2008。点击Finish之后会进行环境的检测配置。完了之后会出现一些选项框让用户进行选择,选择完了之后再点击Configure,一直修改和点Configure到Generate按钮被激活。此时就可以点击Generate来产生工程的产生了,工程文件会出现在指定的工程文件目录中。
如果有问题或者之前进行配置了但是出错,之后一直都无法配置,可以点击File->delete caches试一下,重新进行配置。

1.CMAKE_INSTALL_PREFIX参数的作用
  在configure时有个参数是CMAKE_INSTALL_PREFIX,默认是C:/Program Files/VTK(VTK为例).其中要CMake要手动指定的源代码即工程目录,而build目录是为了外部编译用来保存生成的临时文件和工程文件(MSVC工程文件或makefile).而CMAKE_INSTALL_PREFIX是用来指定软件安装的目录,在linux中如会将可执行文件或shell文件放到某个目录等.在编译完后运行Install工程可以将得到的lib、.h文件等都从编译结果中抽取出来放到CMAKE_INSTALL_PREFIX指定的目录下面,这样就可以使得后面用VC等工具编程时指定头文件、库文件时更加简单。

2.安装VTK
  在generate之后会在指定的build目录中生成很多的工程文件和临时文件,用VC打开vtk.sln编译所有的工程,经历相当长一段时间后会在build目录下建立一个bin目录.之下的Debug目录就是生成的vtk.其中的vtk.exe可以作为TCL的解释器来使用(如果在CMAKE中设置wrap_tcl为YES).TCL的一些例子并不会放到bin目录下的example(大概因为其是解释性语言,根本不需要编译吧),可以直接在源代码目录下的Example目录下找到要运行的tcl文件,右键选择bin目录下的vtk.exe打开就可以了(由于有些例子会用到数据,所以先得打开tcl文件,更改其中的$VTK_DATA_ROOT变量为自己下载的vtk_data的目录).
使用vtk必然地要用到其头文件、库文件等,而在build目录下面会是很分散的,这时1中所说的CMAKE_INSTALL_PREFIX就有用了。打开vtk.sln后选中其中的install工程,右键设为激活项,之后再编译,这样就会从build目录中抽取头文件、库文件到CMAKE_INSTALL_PREFIX指定的目录中了。

3.产生Code::Blocks工程
  Code::Blocks是一个开源跨平台的IDE,其主页可见http://codeblocks.org/。CMake2.6之后的版本就支持生成Code::Blocks的工程了。由于实在受不了VC经常性卡死,然后编译超慢的问题,所以想移代码到Code::Blocks中试试。这里这里是两个Code::Blocks教程。
  首先用CMake生成工程:
CMake安装笔记 - 孤浪涯 - 八哥吧室
生成的cbp文件就是Code::Blocks的工程文件,打开之后编译发现出错。说无法执行make命令。根据这里的说明,是缺少了make.exe,可以从这里下载,下载的zip文件中只需要将usr/local/wbin/make.exe复制到Code::Blocks的安装目录的MinGW/bin就行了。
 
  评论这张
 
阅读(9653)| 评论(3)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017