作者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://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1519632331.A.AC6.html
1F:推 eye5002003: EXECUTABLE_OUTPUT_PATH是比较旧的东西 02/27 14:36
2F:→ eye5002003: set(CMAKE_RUNTIME_OUTPUT_DIRECTORY 02/27 14:37
3F:→ eye5002003: ${PROJECT_SOURCE_DIR}) 02/27 14:38
4F:→ eye5002003: set(CMAKE_LIBRARY_OUTPUT_DIRECTORY 略 02/27 14:39
5F:→ eye5002003: set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY 略 02/27 14:39
6F:→ eye5002003: 用这三行指定编译结果要放哪里吧,通常没人像你一样 02/27 14:42
7F:→ eye5002003: 丢到专案资料夹里面,而是丢到生成物专属的地方 02/27 14:43
8F:→ eye5002003: 因此会用PROJECT_BINARY_DIR取代PROJECT_SOURCE_DIR 02/27 14:44
9F:推 eye5002003: 等一下,你用的是VS,所以比较罗嗦,我用回文说明好了 02/27 14:50