繁体   English   中英

为什么 EXECUTABLE_OUTPUT_PATH 不起作用?

[英]Why EXECUTABLE_OUTPUT_PATH does not work?

我有这样的文件

.
├── CMakeLists.txt
└── src
    ├── CMakeLists.txt
    └── main.c

这是关于这个文件的内容

$ cat CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
PROJECT (HELLO)
ADD_SUBDIRECTORY(src bin)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/binarydir)

$ cat src/CMakeLists.txt
ADD_EXECUTABLE(hello main.c)

$ cat src/main.c
#include <stdio.h>
int main()
{
    printf("Hello World from t1 main().\n");
    return 0;
}

然后我使用以下命令构建它

$ mkdir build
$ cd build
$ cmake ..
$ make

这是结果目录结构

然后二进制hello将在目录build/bin成为图片,但它应该在build/binarydir因为我已经setEXECUTABLE_OUTPUT_PATH的值,不是吗? 我错过了什么?

您正在设置EXECUTABLE_OUTPUT_PATH之前创建可执行目标。 ADD_SUBDIRECTORY(src bin)之前移动SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/binarydir)行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM