boo*_*oon 5 unix directory makefile cmake
我正在尝试按照一些说明在线构建软件.
cd app
mkdir -p build/Release
cd build/Release
cmake ../..
make installpyplusplus && cmake .
make .
Run Code Online (Sandbox Code Playgroud)
我的问题:
cmake做什么或意味着"../ .." 是什么意思?make?该cmake应用程序查找一个特殊的文件,称为CMakeLists.txt.所以通过运行:
cmake ../..
Run Code Online (Sandbox Code Playgroud)
这就像说给cmake了CMakeLists.txt低于两个目录,就像MERose描述.
该cmake命令在您当前的工作目录(CWD,您运行该命令的目录)中创建了许多文件Makefile,其中包含一个名为的文件,该文件包含有关编译/构建/复制/写入/等等以及如何执行的文件的规则它.
所以当你跑:
make .
Run Code Online (Sandbox Code Playgroud)
您告诉make应用程序该Makefile文件位于您的CWD.它与运行相同:
make
Run Code Online (Sandbox Code Playgroud)
这将Makefile在您的CWD中查找该文件.
最后,.是CWD,..下面是一个级别.
EX:如果您的CWD是 /Users/yourname/
. 代表 /Users/yourname/ .. 代表 /Users/ ../. 代表 /Users/ ../.. 代表 /等等...
什么将'make installpyplusplus && cmake.' ?
当您使用&&命令时,如果第一个命令返回true(退出状态为零),则将按顺序执行.所以,在你说过的情况下,make installpyplusplus将会运行,并且在它完成之后(它可以创建一个CMakeLists.txt,我不知道你在运行什么),如果它返回true,则命令cmake .将被运行,如果它CMakeLists.txt在那里,它会正常运行.
奖金:
如果您运行:
make -j4
Run Code Online (Sandbox Code Playgroud)
您将在4个实例中分离构建过程(您可以根据需要更改4)!如果您有多个处理器核心可用,多线程魔术将使其更快地构建:)
| 归档时间: |
|
| 查看次数: |
2811 次 |
| 最近记录: |