簡體   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