#opengl #visual-c #vscode-tasks
Вопрос:
Я использую Microsoft Visual C для компиляции своего проекта в VSCode. Есть мои задачи.файл json.
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C : cl.exe build active file",
"command": "cl.exe",
"args": [
"/Zi",
"/EHsc",
"/I${workspaceFolder}\Dependencies\GLFW\include",
"/I${workspaceFolder}\Dependencies\GLEW\include",
"opengl32.lib", "user32.lib", "gdi32.lib",
"shell32.lib", "kernel32.lib", "msvcrt.lib", "msvcmrt.lib",
"${workspaceFolder}\Dependencies\GLFW\lib-vc2019\glfw3.lib",
"${workspaceFolder}\Dependencies\GLEW\lib\Release\x64\glew32s.lib",
"/nologo",
"/Fe:",
"${workspaceFolder}\build\source.exe",
"${workspaceFolder}\OpenGL\src\*.cpp"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$msCompile"
],
"group": "build",
"detail": "compiler: cl.exe"
}
]
}
Когда я компилирую свой проект, у меня есть 3 файла source.exe, source.ilk, source.pdb в «${workspaceFolder}сборка» и 2 файла source.obj, vc140.pdb в «${workspaceFolder}OpenGLsrc».
изображение 1
Я хочу, чтобы 2 файла источника.объект, vc140.идгу «${workspaceFolder}построить», как мне это сделать.
Другой вопрос, я создаю «шейдер.H» и «Shader.cpp» на «${workspaceFolder}с OpenGL\ ЦСИ», каталог «source.cpp» когда я скомпилировать мой проект, у меня есть еще один «шейдер.параметр obj» на «${workspaceFolder}с OpenGLНИЦ».
изображение 2
Как я могу переместить весь файл obj в «${workspaceFolder}build».
Большое спасибо!
Комментарии:
1. Возможно, вы ищете
/Fo
вариант компилятора. Он задает каталог для промежуточных файлов, в том числе файлов .obj. И/Fd
для файла .pdb.2. Я решил проблему с /Fo и /Fd, но я получил много предупреждений о ссылках 4217. Спасибо, @IgorTandetnik.
3. Ну, в сообщении для этого предупреждения говорится: «Удалите
__declspec(dllimport)
модификатор, чтобы устранить это предупреждение». Вы пробовали разрешить предупреждение таким образом?4. Но я использую статическую библиотеку и определил GLEW_STATIC в верхней части source.cpp.