为什么 CLion 使用 WSL2 工具链看不到头文件?

问题描述 投票:0回答:1

我的设置:

  • Windows 10 专业版 22H2 (19045.2965)

  • CLion 2020.1.3(JetBrains)

  • WSL2 与 Ubuntu 22.04.2 LTS

  • 海湾合作委员会11.3.0

  • cmake 3.22.1

  • gdb 12.1

  • gmake 4.3

CMakeLists.txt

cmake_minimum_required(VERSION 3.22)
project(HelloWorld)

set(CMAKE_CXX_STANDARD 14)

add_executable(HelloWorld main.cpp)

主.cpp

#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

在上面,

<iostream>
被标记为“找不到'iostream'文件”。 CLion 无法找到任何系统标头。无论是 C++ 标准头文件还是任何附加库,例如 wxWidgets。因此,很难看到标头中找到的任何类、名称空间等。查看本地项目标题没有问题。

项目编译。

我尝试过添加

include_directories(
        SYSTEM
        includes
        /usr/include
)

CMakeLists.txt
文件。我也尝试过重新安装 CLion。

我知道有更新版本的 CLion 可用,目前无法升级。

如何让 CLion 正常工作?

编辑1: 我应该添加 CLion 已安装在主机(Windows)上。

c++ cmake clion windows-subsystem-for-linux
1个回答
0
投票

添加所需的 WSL 工具链

如果 CLion 安装在 Windows 中,那么您必须首先进入 Settings -> Build, Execution, Deployment -> Toolchains,通过单击右上角的 + 按钮添加新的工具链,选择 WSL,然后 CLion 应该会自动检测所需的工具,如果没有,则检查它们是否已安装,如果已安装但 CLion 未找到它们,则告诉 CLion 它们在哪里。

添加新的 WSL CMake 配置文件

之后,转到“设置”->“构建、执行、部署”->“工具链”->“CMake”,复制所需的所有 CMake 配置文件(Release、Debug、RelWithDebInfo、MinSizeRel),对于每个副本,将工具链更改为新的您创建的 WSL。

如果您已经这样做了:

检查

/usr/include
目录是否确实具有所需的标头。

© www.soinside.com 2019 - 2024. All rights reserved.