作者clh960524 (CLH)
看板C_and_CPP
標題[問題] VS2017和cmake 執行檔輸出位置問題
時間Mon Feb 26 16:05:24 2018
開發平台(Platform): (Ex: Win10, Linux, ...)
Win7
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
Visual Studio 2017 IDE (Visual Studio 15.5)
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
最近在使用VS2017裡面的CMake功能
在程式build完成之後
發現VS會把build出來的binary放到我安裝CMake安裝位置裡的CMakeBuilds資料夾
想請問一下VS2017的CMake功能可不可以指定binary的輸出位置
餵入的資料(Input):
CMakeLists.txt
詳細內容在"程式碼"段落
預期的正確結果(Expected Output):
binary會出現在目前project的根目錄
錯誤結果(Wrong Output):
binary會出現在CMake安裝位置裡的CMakeBuilds資料夾
程式碼(Code):(請善用置底文網頁, 記得排版)
https://gist.github.com/Cuda-Chen/301e24154e1e936c6a90cc2a90529b71
CMakeLists.txt 文字好讀版:
# CMake minimum version requirment
cmake_minimum_required(VERSION 2.8)
# executable name
project(sobel_mfnn)
# set executable output path
#set(EXECUTABLE_OUTPUT_PATH "..")
set(CMAKE_BUILD_TYPE Debug)
set(SRCS
main.cpp
)
add_executable(sobel_mfnn ${SRCS})
補充說明(Supplement):
無
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.150.28
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1519632331.A.AC6.html
推 eye5002003: EXECUTABLE_OUTPUT_PATH是比較舊的東西 02/27 14:36
→ eye5002003: set(CMAKE_RUNTIME_OUTPUT_DIRECTORY 02/27 14:37
→ eye5002003: ${PROJECT_SOURCE_DIR}) 02/27 14:38
→ eye5002003: set(CMAKE_LIBRARY_OUTPUT_DIRECTORY 略 02/27 14:39
→ eye5002003: set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY 略 02/27 14:39
→ eye5002003: 用這三行指定編譯結果要放哪裡吧,通常沒人像你一樣 02/27 14:42
→ eye5002003: 丟到專案資料夾裡面,而是丟到生成物專屬的地方 02/27 14:43
→ eye5002003: 因此會用PROJECT_BINARY_DIR取代PROJECT_SOURCE_DIR 02/27 14:44
推 eye5002003: 等一下,你用的是VS,所以比較囉嗦,我用回文說明好了 02/27 14:50