bat*_*man 30 c++ makefile cmake box2d
我得到了Box2D项目源,并希望编译它的testbed部分.项目文件夹包含以下文件夹:freeglu glui testbed(演示)helloword(演示)Box2D Build CMakeFiles
在所有不同的文件夹中有许多CMakeLists.txt.我在想我应该编写所有这些文件,以便在所有需要的地方创建make文件.我读了这个(作为我想要的指示):
wget http://box2d.googlecode.com/files/Box2D_v2.2.1.zip
unzip Box2D_v2.2.1.zip
cd Box2D_v2.2.1/Build
cmake ..
make
Run Code Online (Sandbox Code Playgroud)
什么是cmake ..做什么?build文件夹中没有CMakeLists.txt.
Off*_*rmo 49
cmake是一个Makefile生成器.
当你打电话cmake [path]
,你问它来生成一个Makefile在当前目录下面给出的说明[path]/CMakeLists.txt
通常cmake在它工作时输出一些消息,并且在完成没有错误之后,你可以输入"make"来执行你新创建的Makefile.
的CMakeLists.txt文件可以引用其他的CMakeLists.txt在子目录中的文件,所以你通常只感兴趣的CMakeLists.txt中的顶级目录,而不是其他的.
使用空的"构建"目录是一种称为"源外构建"的技术,其中所有生成的文件(.o,可执行文件,Makefile,.anything)都在单独的"构建"目录中生成,而不是与源文件.如果要清除所有内容,可以删除构建目录的所有内容.
事实上,只要你给cmake提供顶级CMakeLists.txt的正确路径,你就可以把你的"build"目录放在任何地方.您甚至可以拥有多个构建目录.如果您需要同时使用多个不同的版本(使用不同的选项,不同版本的gcc等),这非常有用.
在旧程序中,您也生成Makefile,但使用./configure
(这称为自动工具.您可能已经遇到过).cmake被认为是汽车工具的继承者.
cmake ..
使用../CMakeLists.txt
file作为起始点在当前目录中生成makefile .make命令,在此之后执行,使用生成的makefile作为输入构建程序.这样可以方便地保存源代码并在不同的文件夹中构建结果.一般语法是:cmake source-dir(当然,还有很多其他开关).
归档时间: |
|
查看次数: |
23900 次 |
最近记录: |