CLion/CMake多个包含目录问题
我正在尝试构建多个可执行文件,其中包含一些共同的源代码。 我的源代码树如下所示:CLion/CMake多个包含目录问题,cmake,clion,Cmake,Clion,我正在尝试构建多个可执行文件,其中包含一些共同的源代码。 我的源代码树如下所示: root - CMakeLists.txt - 00 - common - CMakeLists.txt - include - Window.h - sources - Window.cpp - 01 - sample - CMakeLists.txt - include - sources ... and so on 在我的根CMakeLists.
root
- CMakeLists.txt
- 00 - common
- CMakeLists.txt
- include
- Window.h
- sources
- Window.cpp
- 01 - sample
- CMakeLists.txt
- include
- sources
... and so on
在我的根CMakeLists.txt中,我确实添加了_子目录以包含公共和所有示例,公共部分构建为一个静态库
编译在命令行和CLion上都可以很好地工作。问题是,当我在“common”文件夹的Window.cpp中包含Window.h时,CLion不知道它的结构,但它提供使用“./include/Window.h”自动完成
在“common”文件夹的CMakeLists.txt中,我执行以下操作:
add_library(common STATIC ${sources})
target_include_directories(common PUBLIC "include")
我还尝试使用include_directories()的标准方法,但没有成功
我做错了什么?在尝试重现问题后,我发现文件夹名接受空格,但不接受破折号
从文件夹名称中删除了破折号修复了问题在尝试重现问题后,我发现文件夹名称接受空格,但不接受破折号
删除了文件夹名称中的破折号,修复了问题“当我在公用文件夹中的Window.cpp中包含Window.h时”…你是什么意思?你是说
#include Window.h
?你把它包括在哪个文件里?请更清楚地描述问题和期望的行为。A会有帮助的。没错,我用屏幕截图和编辑文件夹树编辑了这个问题。看起来cmake的函数target_include_目录不影响CLion,看起来它被忽略了。我将尝试做一个可复制的示例“当我在公共文件夹中的Window.cpp中包含Window.h时”……你是什么意思?你是说#include Window.h
?你把它包括在哪个文件里?请更清楚地描述问题和期望的行为。A会有帮助的。没错,我用屏幕截图和编辑文件夹树编辑了这个问题。看起来cmake的函数target_include_目录不影响CLion,看起来它被忽略了。我将尝试做一个重复的例子