gpt4 book ai didi

c++ - CMake - 包含项目外部的目录

转载 作者:行者123 更新时间:2023-12-01 19:44:50 25 4
gpt4 key购买 nike

所以我想包含一个位于不同文件夹中的全局头文件。 CMakeList.txt 的代码如下。在我的 .cpp 中,当我包含本地包含文件夹中的某些内容时,它可以工作,但不适用于其他文件夹中的内容。

cmake_minimum_required(VERSION 2.8)

#Project name
project(Server-Client)

#Add all cpp files as source files
file(GLOB_RECURSE SOURCES "src/*.cpp")

#Build executable 'Server' with all files in SOURCES
add_executable(Server ${SOURCES})

#Include all files in include directory
include_directories("include")

target_include_directories(Server PUBLIC "../../GlobalFiles/include")

find_package(Threads REQUIRED)

#Build executable 'localization' with all files in SOURCES
target_link_libraries(Server ${CMAKE_THREAD_LIBS_INIT})

最佳答案

不要使用相对路径,而是使用 CMAKE_CURRENT_SOURCE_DIR 变量,如下所示:

target_include_directories(Server PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../../GlobalFiles/include")

除此之外,使用宏来查找您要查找的全局 header 可能是个好主意。

关于c++ - CMake - 包含项目外部的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42464587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com