什么是&书信电报;cmake_binary_dir>/“银行标识代码”;什么意思?

什么是&书信电报;cmake_binary_dir>/“银行标识代码”;什么意思?,cmake,Cmake,我想在CMake目录的/bin子目录中填充一些脚本文件,但找不到/bin文件。 我能给大家什么建议 谢谢CMAKE_BINARY_DIR是您的CMakeLists.txt文件的生成文件夹位置 假设你有: MyProject/application/CMakeLists.txt 您的构建输出位于MyProject/build 在上面的CMakeLists.txt中使用CMAKE_BINARY_DIR时,它指向MyProject/build/application/ 查看CMake变量列表了解更多变

我想在CMake目录的/bin子目录中填充一些脚本文件,但找不到/bin文件。 我能给大家什么建议


谢谢

CMAKE_BINARY_DIR是您的CMakeLists.txt文件的生成文件夹位置

假设你有:

MyProject/application/CMakeLists.txt
您的构建输出位于
MyProject/build

在上面的CMakeLists.txt中使用CMAKE_BINARY_DIR时,它指向
MyProject/build/application/


查看CMake变量列表了解更多变量。

我不同意gvd的答案,因为
CMake\u BINARY\u DIR
应该始终指向构建树的顶级目录。如果需要当前
CMakelists.txt
所在的生成树位置,请使用
CMAKE\u current\u BINARY\u DIR

CMAKE_二进制目录

如果您在源代码中构建,这与CMAKE_source_DIR相同, 否则,这是生成树的顶级目录

CMAKE\u当前\u二进制\u目录

如果您在源代码中构建,这与CMAKE_CURRENT_source_DIR相同, 否则,这就是从 当前的CMakeLists.txt将转到


所以答案是:cmake_binary_dir/bin指向toplevelBuilddir/bin

谢谢,你的建议对我来说非常重要。但是我找不到“/bin”文件,或者“/bin”这是什么意思?你知道cmake是如何工作的吗?首先,在源代码树中是否有bin文件夹?如果存在一个“bin”文件夹,并且其中包含一个正在处理的CMakeLists.txt,那么CMake也将在build文件夹中创建该文件夹。它镜像了源文件夹。哦,找到了。我刚开始学习Cmake作为项目的需要。非常感谢。只是要说,Cmake在您第一次运行它时将Cmake_BINARY_DIR设置为您的pwd。因此,如果您的src全部位于/MyProject/application中,并且您有/MyProject/application/CMakeFiles.txt,那么如果您使用cd/MyProject/build/application并键入cmake/MyProject/application,您将发现cmake\u BINARY\u DIR=/MyProject/build/application