Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CLion/CMake多个包含目录问题_Cmake_Clion - Fatal编程技术网

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,看起来它被忽略了。我将尝试做一个重复的例子