我在项目设置中配置输出路径时遇到了一个小问题。我希望CodeLite将二进制文件放到一个基于配置的名为的文件夹中,并放在其中一个名为bin的文件夹中,但在我的生命周期中,我无法让它工作。我只是简单地在项目设置中的general下更改了每个路径和文件名(我只使用了$(ProjectPath)等宏)。在运行CMake之后,它总是将所有内容放在一个名为cmake-build-Configuration (调试或发布)的文件夹中。我用谷歌搜索了很多,也许我只是找不到正确的搜索短语,我也看过维基,但在那里找不到任何可以为我指明正确方向的东西。我的项目CMakeLists.txt如下所示:
# -*- CMakeLists.txt generated by CodeLite IDE. Do not edit by hand -*-
cmake_minimum_required(VERSION 2.8.11)
project(main)
# Define some variables
set(PROJECT_PATH "${CMAKE_SOURCE_DIR}/main")
#{{{{ User Code 1
# Place your code here
#}}}}
include_directories(
.
.
)
# Compiler options
add_definitions(-ggdb)
add_definitions(-O0)
add_definitions(-Wall)
add_definitions(-std=c++14)
# Linker options
if(WIN32)
# Resource options
endif(WIN32)
# Library path
set(CMAKE_LDFLAGS "${CMAKE_LDFLAGS} -L. ")
# Define the CXX sources
set ( CXX_SRCS
${CMAKE_SOURCE_DIR}/main/src/main.cpp
)
set_source_files_properties(
${CXX_SRCS} PROPERTIES COMPILE_FLAGS
" -ggdb -O0 -Wall -std=c++14")
if(WIN32)
enable_language(RC)
set(CMAKE_RC_COMPILE_OBJECT
"<CMAKE_RC_COMPILER> ${RC_OPTIONS} -O coff -i <SOURCE> -o <OBJECT>")
endif(WIN32)
#{{{{ User Code 2
# Place your code here
#}}}}
add_executable(main ${RC_SRCS} ${CXX_SRCS} ${C_SRCS})
target_link_libraries(main ${LINK_OPTIONS})
#{{{{ User Code 3
# Place your code here
#}}}}这是工作区的CMakeLists.txt:
# -*- CMakeLists.txt generated by CodeLite IDE. Do not edit by hand -*-
cmake_minimum_required(VERSION 2.8.11)
# Workspace name
project(YoLoEngine)
# This setting is useful for providing JSON file used by CodeLite for code completion
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
# Set default locations
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
#{{{{ User Code 1
# Place your code here
#}}}}
set(CONFIGURATION_NAME "Debug")
#{{{{ User Code 2
# Place your code here
#}}}}
# Projects
add_subdirectory(${CMAKE_SOURCE_DIR}/main)
#{{{{ User Code 3
# Place your code here
#}}}}我不得不提到,我对CMake的知识非常非常有限,我今天才开始学习如何使用它,有几件事我不清楚。我没有尝试手动操作上面的文件,因为我想知道如何在CodeLite中进行设置。
我使用的是ubuntu18.04lts,我已经从ubuntu repo下载了带有apt的CodeLite,它的版本是10.0.0。
感谢您的帮助:)
编辑1:我想使用CodeLite的用户界面来设置它,而不是通过修改CMakeLists.txt文件。
发布于 2018-06-23 15:23:58
我建议使用此方法将您的二进制输出文件复制到某个地址:
在add_executable(...)之后只需添加以下内容:
set_target_properties(main PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/YOUROUTPUT)代替YOUROUTPUT,你可以像你的项目名一样放入一些cmake变量。
https://stackoverflow.com/questions/50996866
复制相似问题