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
C++ 使用自定义工具链时包括CLion检查目录_C++_Cmake_Header Files_Clion_Devkitpro - Fatal编程技术网

C++ 使用自定义工具链时包括CLion检查目录

C++ 使用自定义工具链时包括CLion检查目录,c++,cmake,header-files,clion,devkitpro,C++,Cmake,Header Files,Clion,Devkitpro,我正在使用编写C/C++代码,用于CLion本机不支持的。我目前使用终端上的make进行编译,而不是从IDE中构建 我有一个自定义的include目录,其中的头文件不是由CLion解决/找到的,因为它们不是项目的一部分。但是,我想为它们提供代码检查功能。例如,标题位于C:\devkitPro\wups\include 我决定使用include_directories()CMake命令来提高CLion解析代码的能力: include_directories("C:\\devkitPro\\wups

我正在使用编写
C/C++
代码,用于
CLion
本机不支持的。我目前使用
终端上的
make
进行编译,而不是从IDE中构建

我有一个自定义的include目录,其中的头文件不是由
CLion解决/找到的,因为它们不是项目的一部分。但是,我想为它们提供代码检查功能。例如,标题位于
C:\devkitPro\wups\include

我决定使用
include_directories()
CMake
命令来提高
CLion
解析代码的能力:

include_directories("C:\\devkitPro\\wups\\include")
然后我还修改了
CMake
include路径:

set(CMAKE_INCLUDE_PATH "C:\\devkitPro\\wups\\include")
并决定链接到
lib
目录:

link_directories("C:\\devkitPro\\wups\\lib")

完成所有这些之后,标题仍然没有在
CLion
中解析(当然,它仍然使用
make
进行编译)。如何使用
CLion
完成标题解析,还是不可能?

根据
CLion
中配置的工具链,
CMake
需要一个
Windows
WSL
样式的路径。检查将与
include_目录
指令一起使用,例如

# Add extra include directories
if (WIN32) # When using a Windows compilation toolchain
    set(WUT "/c/devkitPro/wut/include")
    set(WUPS "/c/devkitPro/wups/include")
else () # When using WSL as toolchain
    set(WUT "/mnt/c/devkitPro/wut/include")
    set(WUPS "/mnt/c/devkitPro/wups/include")
endif ()
include_directories(${WUT})
include_directories(${WUPS})

在pull request中可以找到更详细的书面教程。

当您通过included_目录包含时,您是否检查了在更新的CMake脚本上正确执行的CMake重载?如果还没有重新加载项目,请尝试重新加载。这里的另一个选项是从项目视图中将目录标记为,并将源文件和头设置为此目录。或者(从v2018.2开始)您只需通过项目文件中的#include指令使用头/源,然后包含的文件也被视为项目文件(但应在项目根目录下)。