c++ - 在 Visual Studio Code 中设置 OpenGL 项目
问题描述
我在 Vs 代码中使用 mingw编译我的C++/OpenGL程序时遇到问题。首先,我遵循了这个网站的教程。这是成功的。太好了,该教程中用于编译程序的命令是
g++ -g -std=c++17 -I./include -L./lib src/main.cpp -o main -lglad -lglfw3dll
但是该命令是写在makefile中的。要运行我的程序,我必须写这个
mingw32-make 运行
但我只想知道替换task.json中现有命令的命令是什么,以便我可以按ctrl+shift+b编译和构建我的程序。
注:其实我对Mingw并不熟悉。我一直使用 Visual Studio 2019。
这是我的 task.json
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe build active file",
"command": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe",
"args": [
"-g",
"${workspaceFolder}\\src\\*.cpp",
"-o",
"${workspaceFolder}\\main.exe",
"-I",
"D:\\C++ Vscode\\opengl\\include\\glad\\",
"-I",
"D:\\C++ Vscode\\opengl\\include\\GLFW\\",
"-L",
"D:\\C++Vscode\\opengl\\lib",
"-lglad",
"-lglfw3dll"
],
"options": {
"cwd": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "compiler: \"C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe\""
}
]
}
当我按ctrl+shift+b运行它时,它在终端中显示以下错误。
开始构建... "C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin\g++.exe" -g "D:\C++ Vscode\opengl\src *.cpp" -o "D:\C++ Vscode\opengl\main.exe" -I "D:\C++ Vscode\opengl\include\glad" -I "D:\C++ Vscode\opengl\include\GLFW" - LD:\C++Vscode\opengl\lib -lglad -lglfw3dll g++.exe: 错误: Vscode\opengl\include\GLFW": 没有这样的文件或目录
错误很奇怪。它说不Vscode\opengl\include\GLFW"
存在。我没有名为Vscode的文件夹(而我的文件夹名称是C++ Vscode)。
我认为该错误是由于我的文件夹名称中的空格字符而发生的。如何修复此错误以通过按ctrl+shift+b来运行我的 C++/OpenGL 程序。
解决方案
推荐阅读
- c++ - fstream 对象默认关联
- python - 散景箭头在情节中被切断
- spring - 注入来自依赖项但没有 @Bean 注释的 Spring bean
- java - 如何在已知方向上获得已知距离的点
- c - 如何更改缓冲区中的值 - 分配只读位置
- apache-spark - 使用 spark_sanitize_names 管理 pyspark 数据框中具有重复名称的多个列
- linux - Linux shell script on background, loop exit reading keyboard buffer
- python - lxml html ubnable to parse display block
- solr - 调用 Alfresco Rest API 查询时出错
- python - MAPE 正在生成 inf 作为输出