我正在尝试按照一些说明建立一个软件。
cd app
mkdir -p build/Release
cd build/Release
cmake ../..
make installpyplusplus && cmake .
make .
我的问题:
cmake
做或意味着什么?make
之后点的重要性是什么?答案 0 :(得分:6)
cmake
应用程序查找一个名为CMakeLists.txt
的特殊文件。
所以通过运行:
cmake ../..
这就像对cmake
说CMakeLists.txt
是下面的两个目录,就像MERose所描述的那样。
cmake
命令在当前工作目录(CWD,您运行命令的目录)中创建了许多文件,其中包含一个名为Makefile
的文件,其中包含有关哪些文件的规则编译/构建/复制/写/无论以及如何做。
所以当你跑:
make .
您告诉make
应用程序Makefile
文件位于您的CWD。它与运行相同:
make
在CWD中查找Makefile
文件。
结论,.
是CWD,..
是以下一级。
EX:如果你的CWD是/Users/yourname/
.
代表/Users/yourname/
..
代表/Users/
../.
代表/Users/
../..
代表/
等等......
什么将使makepyplusplus&& cmake。' ?
使用&&
时,如果第一个命令返回true(退出状态为零),命令将按顺序执行。所以,在你说的情况下,make installpyplusplus
将被运行,并且在它完成之后(它可以创建CMakeLists.txt
,我不知道你在运行什么),如果它返回true,那么命令<{1}}将会运行,如果cmake .
存在,它将正常运行。
<强>奖金:强>
如果你跑:
CMakeLists.txt
您将在4个实例中分离构建过程(您可以根据需要更改4)!如果您有多个处理器核心,多线程魔法将使其更快地构建:)