4

我得到了一个 C++ 项目(用于学校),我需要运行并添加额外的代码。我想在 Visual Studio Code 中运行该项目。我已经下载了 C/C++ 扩展以及 Code Runner 扩展。当我尝试运行 main.cpp 文件时,出现以下错误:

在此处输入图像描述

ANTLRInputStream.h 文件位于运行时文件夹中的另一个 src 文件夹中。我可以将包含更改为如下内容:

#include "../runtime/src/ANTLRInputStream.h" 

但这会给我另一个错误,在 ANTLRInputStream 内部有一堆包含也引用位于其他地方的头文件。

我有以下属性文件:

{
"configurations": [
    {
        "name": "MinGW",
        "compilerPath": "C:/Program Files (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin/gcc.exe",
        "includePath": [
            "${workspaceFolder}/**",
            "runtime/src"
        ],
        "defines": [
            "_DEBUG",
            "UNICODE",
            "_UNICODE"
        ],
        "intelliSenseMode": "gcc-x64"
    }
],
"version": 4
}

我尝试了一些变化,例如:

  • 运行时/src
  • ${根文件夹}/**
  • ${rootFolder}/runtime/src

还有一些类似的,但它们不起作用,我真的不知道它们是否应该起作用(因为我真的不知道如何在 VSCode 中设置 C++ 项目)。如何使我的所有包含工作并能够运行程序而无需手动更改每个包含以找到其位置?

4

2 回答 2

0

看来(从CMakeLists.txt根文件夹中的文件来看,您的项目是一个 CMake 项目。您可以在此处找到有关 VSC 的 CMake 扩展的信息。

于 2018-09-17T11:39:10.317 回答
0

从屏幕截图中,错误消息是:

main.cpp:2:10: fatal error: ANTLRInputStream.h: No such file or directory

此错误来自编译器,g++而不是 Visual Studio Code。VSCode 只是在其自己的输出窗口中向您显示编译器的输出。

要解决此问题,您必须使用该-I选项告诉编译器在哪里查找文件,例如:

g++ -I../runtime/src main.cpp -o main

includePathin 属性c_cpp_properties.json用于告诉 VSCode(相对于编译器)在哪里可以找到头文件 。我的这个答案更详细地讨论了includePath

于 2020-04-03T06:25:12.583 回答