【发布时间】:2021-07-04 18:15:33
【问题描述】:
我尝试开始使用 Linux(Fedora 33),但现在遇到了麻烦。我想使用 VS Code 并正确构建简单的 cpp 项目,但我想使用 wxWidgets 制作 GUI。所以我创建了简单的示例,但它不想构建它。我从 rpm 包安装了 wxWidgets。我还在配置文件的 includePath 中添加了路径。现在我想向您展示代码和错误。
#include <wx/wxprec.h>
#ifndef WX_PRECOMP
#include <wx/wx.h>
#endif
int main() { return 0; }
tasks.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++ сборка активного файла",
"command": "/usr/bin/g++",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "компилятор: /usr/bin/g++"
}
],
"version": "2.0.0"
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "g++ - Сборка и отладка активного файла",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Включить автоматическое форматирование для gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++ сборка активного файла",
"miDebuggerPath": "/usr/bin/gdb"
}
]
}
c_cpp_properties.json
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/include/**",
"/usr/lib64/wx/include/**"
],
"defines": [],
"compilerPath": "/usr/bin/clang++",
"cStandard": "c17",
"cppStandard": "c++14",
"intelliSenseMode": "linux-clang-x64",
"compilerArgs": []
}
],
"version": 4
}
现在,我认为智能不会给我任何错误。
编译器错误:
Запуск сборки…
/usr/bin/g++ -g /home/nikita/Workfiles/wxex/main.cpp -o /home/nikita/Workfiles/wxex/main
/home/nikita/Workfiles/wxex/main.cpp:1:10: фатальная ошибка: wx/wxprec.h: Нет такого файла или каталога
1 | #include <wx/wxprec.h>
| ^~~~~~~~~~~~~
компиляция прервана.
Сборка завершена с ошибками.
The terminal process failed to launch (exit code: -1).
【问题讨论】:
-
请提供minimal reproducible example,其中包含文本而非图像的错误
-
@NikitaSimonenko,在这里发帖时请不要使用截图。有些人是盲人,他们无法帮助你。有些人在防火墙后面或受限制的网络 - 他们将无法为您提供帮助。所以你切断了那些想帮助但无能为力的人。请不要那样做。 TIA!
-
我也没有看到你根据你的编译命令把正确的包含目录放在哪里。请修复您的项目,然后您的代码将编译。
-
对不起,这是我的第一个问题,所以没有考虑细节。当我有时间时,我会编辑我的问题。感谢您的建议!
-
@Nikitasimonenko,请安装 wx 示例代码并尝试构建最小示例。你会看到你使用的路径是不够的。
标签: c++ linux visual-studio-code wxwidgets fedora