我正在尝试按照网上的一些指南构建软件。
cd app
mkdir -p build/Release
cd build/Release
cmake ../..
make installpyplusplus && cmake .
make .
我的问题:
cmake
后面的 "../.." 是什么意思或者是做什么用的?make
后面的点的意义是什么?- 执行 'make installpyplusplus && cmake .' 会发生什么?
cmake
应用程序会寻找一个特殊的文件,称为 CMakeLists.txt
。因此,通过运行以下命令:
cmake ../..
就像MERose所描述的那样,你可以告诉cmake
,CMakeLists.txt
在当前目录的两个目录下。
cmake
命令会在当前工作目录(CWD,即您运行命令的目录)创建许多文件,其中一个名为Makefile
的文件包含有关要编译/构建/复制/写入/其他哪些文件以及如何执行这些操作的规则。
因此,当您运行以下命令时:
make .
make
应用程序,Makefile
文件在你的当前工作目录(CWD)中。这与运行以下命令相同:make
它在你的当前工作目录中查找Makefile
文件。
总之,.
是当前工作目录,..
是上一级目录。
例如:如果您的当前工作目录是/Users/yourname/
.
代表/Users/yourname/
..
代表/Users/
../.
代表/Users/
../..
代表/
以此类推...
'make installpyplusplus && cmake .'会做什么?
当您使用&&
时,如果第一个命令返回true(退出状态为零),则命令将按顺序执行。因此,在您所说的情况下,将运行make installpyplusplus
,并且在完成后(它可以创建CMakeLists.txt
,我不知道您在运行什么),如果返回true,则运行命令cmake .
,如果CMakeLists.txt
存在,则会正常运行。
额外福利:
如果您运行:
make -j4
../..
表示父目录的父目录(在Windows系统中则为..\..
)。 - Antonio