Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Makefile 固定的cmake输出目录_Makefile_Cmake - Fatal编程技术网

Makefile 固定的cmake输出目录

Makefile 固定的cmake输出目录,makefile,cmake,Makefile,Cmake,我正在使用cmake进行我的第一个项目,大部分情况下进展顺利,但我遇到了一个无法解决的问题 假设我的CMakeLists.txt文件位于~/project/build。我希望cmake的输出(不是二进制文件,而是makefile/配置文件)独立于运行cmake的位置 例如,如果我的终端位于~/project/build目录中,则调用cmake~/project/build创建makefile和~/project/build目录中的所有内容。这是我喜欢的行为。如果我从其他任何地方调用cmake~/

我正在使用cmake进行我的第一个项目,大部分情况下进展顺利,但我遇到了一个无法解决的问题

假设我的
CMakeLists.txt
文件位于
~/project/build
。我希望cmake的输出(不是二进制文件,而是makefile/配置文件)独立于运行cmake的位置

例如,如果我的终端位于
~/project/build
目录中,则调用
cmake~/project/build
创建makefile和
~/project/build
目录中的所有内容。这是我喜欢的行为。如果我从其他任何地方调用
cmake~/project/build
,它将在终端调用程序的任何目录中创建makefile和其他所有内容

是否可以强制cmake在与
CMakeLists.txt
文件相同的文件夹中生成其makefile和关联文件?我已经浏览了文档,我没有发现如何更改二进制输出目录的问题,但是我真的找不到任何关于我要做什么的内容


我意识到这是一个很小的麻烦(在构建项目之前进入我的构建文件夹并不是那么困难),但我只是想知道这是否可能,是否有一些原因不建议这样做。

你必须使用两个命令来实现这一点

1) cmake-B“Dest path(您要在其中生成输出文件的任何路径)”-H“源路径(根CMakeLists.txt路径)”


2) cmake——构建“Dest path”

构建目录中不应该有
CMakeLists.txt