在Windows上设置编译器路径

时间:2019-06-29 13:43:07

标签: c++ visual-studio-code

在我的计算机中,c_cpp_properties.json文件看起来像这样,

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "C:\\MinGW\\bin\\gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

compilerPath和intelliSenseMode是否正确?

或editorPath应该是这样的

C:\MinGW\lib\gcc\mingw32\6.3.0\include\c++ 

C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/g++.exe",

也intelliSenseMode应该是“ gcc-x64”,“ clang-x64”或“ msvc-x64”吗?

例如,在Microsoft Vs Code网站中,上述代码已更改为

{
    "configurations": [
        {
            "name": "Win32",
            "defines": [
                "_DEBUG",
                "UNICODE"
            ],
            "compilerPath": "C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/g++.exe",
            "intelliSenseMode": "gcc-x64",
            "browse": {
                "path": [
                    "${workspaceFolder}"
                ],
                 "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            }
        }
    ],
    "version": 4
}

https://code.visualstudio.com/docs/cpp/config-mingw#_configure-the-compiler-path

所以主要的问题是如何确定在compilePath中使用什么 谢谢

2 个答案:

答案 0 :(得分:1)

要回答您的问题,请在官方的可视代码documentation中,看到编译器路径和intelliSenseMode设置如下,如下所示。只需确保提供正确的位置g++.exe

"compilerPath": "C:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/g++.exe",
"intelliSenseMode": "gcc-x64"

用您要注意的问题更新问题。

答案 1 :(得分:1)

compilerPathintelliSenseMode变量用于配置VSCode编辑器以分别提供编译和IntelliSense服务的目的。

compilerPath

因为VSCode本身不是一个完整的IDE,所以它没有提供提供编译服务所需的编译器。因此,需要将其指向有效的C ++编译器。这就是compilerPath变量的目的。测试您提供的路径是否正确很容易。将其复制并粘贴到终端( CMD或PowerShell )中,然后查看结果是否类似于以下内容:

PS C:\Users\neilb> C:\"Program Files"\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin\g++.exe
g++.exe: fatal error: no input files
compilation terminated.
PS C:\Users\neilb>

这表示该路径有效。如果不是,请找到您安装的MinGW(在Windows上提供gccg++支持的库)。 do so(如果尚未安装)。

inteliSenseMode

这告诉VSCode要遵循哪些C ++样式指南来格式化代码并提供棉绒功能。 VSCode-cpptools GitHub page列出了此处的选项的完整列表。您当前设置的内容就足够了。 (clang-x64