使用VScode,如何解决此错误?
#pragma once in main file [-Wpragma-once-outside-header]
更新: 以VScode显示:
再次更新:
这是c_cpp_properties.json
{
"configurations": [
{
"name": "Mac",
"includePath": ["${workspaceFolder}/**"],
"defines": [],
"macFrameworkPath": [
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
答案 0 :(得分:1)
鉴于没有答案,并且鉴于我也花了一些时间来解决这个问题,所以解决了。
在Visual Studio Code中,编译设置默认在 tasks.json 中构建(终端>配置默认构建任务> g ++。exe())。在VS Code 2020中是这样的:
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++.exe build active file",
"command": "C:\\Program Files (x86)\\mingw-w64\\i686-8.1.0-posix-dwarf-rt_v6-rev0\\mingw32\\bin\\g++.exe",
"args": [
"-g",
"${workspaceFolder}\\*.cpp",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "C:\\Program Files (x86)\\mingw-w64\\i686-8.1.0-posix-dwarf-rt_v6-rev0\\mingw32\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
(我正在使用mingw-64支持 gcc 编译器,因此“ command” 和“ cwd” 的路径可能不同,具体取决于您正在使用的编译器。)
键部分是这样的:“ $ {file}” ,它是编辑器中活动文件的名称(活动选项卡)。
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
如果您正在处理多个文件,至少一个头文件(.h或.hpp)和一个主文件(.cpp),VS Code将把该活动文件(.h或.hpp)作为主要文件文件(.cpp)。因此,您需要使用以下命令进行更改:“ $ {workspaceFolder} \ *。cpp” 。
"args": [
"-g",
"${workspaceFolder}\\*.cpp",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],