我在项目设置中配置输出路径时遇到了一个小问题。我希望CodeLite将二进制文件放入基于配置的文件夹中,并将其放入名为bin的文件夹中,但是在我的生命中,我无法使其正常运行。我只是在常规下的项目设置中更改了我可以更改的每个路径和文件名(我只使用$(ProjectPath)等宏,),运行CMake之后,它始终将所有内容放入名为cmake-build-Configuration的文件夹中(调试或发布) )。我在google上搜索了很多,也许我只是找不到正确的搜索词组,我也查看了Wiki,但是找不到任何可以向正确的方向指出我的东西。我的项目的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中进行设置。
我正在使用ubuntu 18.04 LTS,我已经从ubuntu仓库中下载了带有apt的CodeLite,它的版本是10.0.0。
谢谢您的帮助:)
编辑1: 我想使用CodeLite的用户界面进行设置,而不是通过修改CMakeLists.txt文件。
答案 0 :(得分:0)
我建议使用此方法将二进制输出文件复制到某个地址:
在add_executable(...)之后,只需添加以下内容即可:
set_target_properties(main PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/YOUROUTPUT)
您可以输入一些cmake变量(例如您的项目名称)来代替YOUROUTPUT。