I recently tried to understand how to link GLFW, GLEW, glm and Soil2 in Visual Studio Code. I am using mingw 32 bit on a USB key as I prefer being able to program whenever I got a free hour in Highschool and all computers (at school and at home) have Windows installed. Here are my JSON files:
tasks.json (with libwinmm.a):
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "build",
"command": "E:/Compiler/mingw32/bin/g++.exe",
"args": [
"-g",
"-o",
"${workspaceFolder}/opengl.exe",
/* .cpp Files */
"${workspaceFolder}/code/main.cpp",
/* Include paths */
"-IE:/Compiler/mingw32/lib/gcc/i686-w64-mingw32/7.3.0/include/c++",
"-I${workspaceFolder}/external/GLEW/include",
"-I${workspaceFolder}/external/GLFW/include",
"-I${workspaceFolder}/external/glm/..",
"-I${workspaceFolder}/external/Soil2/Include",
"-I${workspaceFolder}",
"-I${workspaceFolder}/code",
/* Library paths */
"-LE:/Compiler/mingw32/i686-w64-mingw32/lib",
"-L${workspaceFolder}/external/GLEW/lib",
"-L${workspaceFolder}/external/GLFW/lib-vc2015",
"-L${workspaceFolder}/external/Soil2/lib",
/* Libraries */
"-lmingw32",
"-lwinmm",
"-lgdi32",
"-lopengl32",
"-lshell32",
"-luser32",
"-lglew32",
"-lglfw3",
"-lsoil2"
],
"options": {
"cwd": "E:/Compiler/mingw32/bin"
}
}
]
}
launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "build",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/opengl.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "E:/Compiler/mingw32/bin/gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "build"
}
]
}
c_cpp_properties.json:
{
"version": 4,
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}",
"E:/Compiler/mingw32/lib/gcc/i686-w64-mingw32/7.3.0/include/c++",
"${workspaceFolder}/external/GLEW/include",
"${workspaceFolder}/external/GLFW/include",
"${workspaceFolder}/external/glm/..",
"${workspaceFolder}/external/Soil2/Include",
"${workspaceFolder}/code/.."
],
"defines": [
"GLEW_STATIC",
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.18362.0",
"compilerPath": "E:/Compiler/mingw32/bin/g++.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "msvc-x64"
}
]
}
and here is the example code from GLFW documentation I put in code/main.cpp (with glew code):
#include <GL/glew.h>
#include <GLFW/glfw3.h>
#ifdef _WIN32
#pragma comment(lib, "winmm.lib")
#endif // _WIN32
int main(void)
{
GLFWwindow* window;
/* Initialize the library */
if (!glfwInit())
return -1;
/* Create a windowed mode window and its OpenGL context */
window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
if (!window)
{
glfwTerminate();
return -1;
}
/* Make the window's context current */
glfwMakeContextCurrent(window);
if(!glewInit())
return -1;
/* Loop until the user closes the window */
while (!glfwWindowShouldClose(window))
{
/* Render here */
glClear(GL_COLOR_BUFFER_BIT);
/* Swap front and back buffers */
glfwSwapBuffers(window);
/* Poll for and process events */
glfwPollEvents();
}
glfwTerminate();
return 0;
}
After compiling, this program return this error log:
> Executing task: E:/Compiler/mingw32/bin/g++.exe -g -o E:\Programmes\Projets\Opengl/opengl.exe
E:\Programmes\Projets\Opengl/code/main.cpp -IE:/Compiler/mingw32/lib/gcc/i686-w64-
mingw32/7.3.0/include/c++ -IE:\Programmes\Projets\Opengl/external/GLEW/include -
IE:\Programmes\Projets\Opengl/external/GLFW/include -IE:\Programmes\Projets\Opengl/external/glm/.. -
IE:\Programmes\Projets\Opengl/external/Soil2/Include -IE:\Programmes\Projets\Opengl -
IE:\Programmes\Projets\Opengl/code -LE:/Compiler/mingw32/i686-w64-mingw32/lib -
LE:\Programmes\Projets\Opengl/external/GLEW/lib -LE:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015 -LE:\Programmes\Projets\Opengl/external/Soil2/lib -lmingw32 -winmm -lgdi32 -lopengl32 -lshell32 -
luser32 -lglew32 -lglfw3 -lsoil2 <
Warning: corrupt .drectve at end of def file
Warning: corrupt .drectve at end of def file
Warning: corrupt .drectve at end of def file
Warning: corrupt .drectve at end of def file
Warning: corrupt .drectve at end of def file
Warning: corrupt .drectve at end of def file
Warning: corrupt .drectve at end of def file
Warning: corrupt .drectve at end of def file
Warning: corrupt .drectve at end of def file
Warning: corrupt .drectve at end of def file
Warning: corrupt .drectve at end of def file
Warning: corrupt .drectve at end of def file
Warning: corrupt .drectve at end of def file
Warning: corrupt .drectve at end of def file
C:\Users\willy\AppData\Local\Temp\ccRDHcUY.o: In function `main':
E:/Programmes/Projets/Opengl/code/main.cpp:20: undefined reference to `_imp__glewInit@0'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/window.c.obj):
(.text$mn+0x46): undefined reference to `@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/window.c.obj):
(.text$mn+0x131): undefined reference to `@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/window.c.obj):
(.text$mn+0x23e): undefined reference to `@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/window.c.obj):
(.text$mn+0x2a8): undefined reference to `@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/window.c.obj):
(.text$mn+0x2d5): undefined reference to `@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/input.c.obj):
(.text$mn+0x35): undefined reference to `_ultod3'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/input.c.obj):
(.text$mn+0x46): undefined reference to `_ultod3'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/input.c.obj):
(.text$mn+0x46): undefined reference to `_ultod3'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/input.c.obj):
(.text$mn+0x51): undefined reference to `_dtoul3'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/init.c.obj):
(.text$mn+0x6): undefined reference to `_chkstk'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/init.c.obj):
(.text$mn+0x5a): undefined reference to `_imp____stdio_common_vsprintf'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/init.c.obj):
(.text$mn+0xa6): undefined reference to `@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/context.c.obj):
(.text$mn+0xc4): undefined reference to `@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/context.c.obj):
(.text$mn+0xea): undefined reference to `@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/context.c.obj):
(.text$mn+0x187): undefined reference to `@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/context.c.obj):
(.text$mn+0x37e): undefined reference to `@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/context.c.obj):
(.text$mn+0x3b8): more undefined references to
`@__security_check_cookie@4' follow
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0x14): undefined reference to
`_dtoui3'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0x7e): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0xf1): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0x123): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0x153): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0x8b): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0xa2): undefined reference to
`_imp__CreateDIBSection@24'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0xd6): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0xef): undefined reference to
`_imp__CreateBitmap@20'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0x112): undefined reference to
`_imp__DeleteObject@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0x1b7): undefined reference to
`_imp__DeleteObject@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0x1f7): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0x116): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0x184): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0x1f5): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0x2a): undefined reference to @
__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_window.c.obj):(.text$mn+0x56): more undefined references
to `@__security_check_cookie@4' follow
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0x34): undefined reference to
`_imp__CreateDCW@16'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0x42): undefined reference to
`_imp__GetDeviceGammaRamp@8'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0x49): undefined reference to
`_imp__DeleteDC@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0x97): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0x7e): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0x26d): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0x97): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0x238): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0x47): more undefined references
to `@__security_check_cookie@4' follow
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0x92): undefined reference to
`_imp__CreateDCW@16'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0xa0): undefined reference to
`_imp__SetDeviceGammaRamp@8'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0xa7): undefined reference to
`_imp__DeleteDC@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0xb7): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0xef): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0x115): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0x58): undefined reference to
`_imp__CreateDCW@16'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0x5e): undefined reference to
`_imp__GetDeviceCaps@8'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_monitor.c.obj):(.text$mn+0x7e): undefined reference to
`_imp__DeleteDC@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_joystick.c.obj):(.text$mn+0xb0): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_joystick.c.obj):(.text$mn+0x8b): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_joystick.c.obj):(.text$mn+0xb2): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_joystick.c.obj):(.text$mn+0x30c): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_joystick.c.obj):(.text$mn+0x232): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_joystick.c.obj):(.text$mn+0x71): more undefined
references to `@__security_check_cookie@4' follow
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_joystick.c.obj):(.text$mn+0x28a): undefined reference to
`_libm_sse2_sqrt_precise'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_joystick.c.obj):(.text$mn+0x309): undefined reference to
`_libm_sse2_sqrt_precise'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_joystick.c.obj):(.text$mn+0x41e): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_joystick.c.obj):(.text$mn+0x47): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_joystick.c.obj):(.text$mn+0x8b): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_joystick.c.obj):(.text$mn+0x190): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_init.c.obj):(.text$mn+0x68): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/win32_init.c.obj):(.text$mn+0xba): more undefined references to
`@__security_check_cookie@4' follow
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/monitor.c.obj):
(.text$mn+0xb1): undefined reference to `_libm_sse2_pow_precise'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/monitor.c.obj):
(.text$mn+0x117): undefined reference to `@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-vc2015/glfw3.lib(CMakeFiles/glfw.dir/monitor.c.obj):
(.text$mn+0x14a): undefined reference to `@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/egl_context.c.obj):(.text$mn+0x62): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/egl_context.c.obj):(.text$mn+0xb2): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/egl_context.c.obj):(.text$mn+0x106): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/egl_context.c.obj):(.text$mn+0x14e): more undefined references
to `@__security_check_cookie@4' follow
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/wgl_context.c.obj):(.text$mn+0xb5): undefined reference to
`_imp__DescribePixelFormat@16'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/wgl_context.c.obj):(.text$mn+0xde): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/wgl_context.c.obj):(.text$mn+0xf7): undefined reference to
`_imp__SetPixelFormat@12'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/wgl_context.c.obj):(.text$mn+0x120): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/wgl_context.c.obj):(.text$mn+0x425): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/wgl_context.c.obj):(.text$mn+0x85): undefined reference to
`_imp__DescribePixelFormat@16'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/wgl_context.c.obj):(.text$mn+0x33d): undefined reference to
`_imp__DescribePixelFormat@16'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/wgl_context.c.obj):(.text$mn+0x418): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/wgl_context.c.obj):(.text$mn+0x44a): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/wgl_context.c.obj):(.text$mn+0x61): undefined reference to
`_imp__ChoosePixelFormat@8'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/wgl_context.c.obj):(.text$mn+0x69): undefined reference to
`_imp__SetPixelFormat@12'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/wgl_context.c.obj):(.text$mn+0x8c): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/wgl_context.c.obj):(.text$mn+0xbc): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/wgl_context.c.obj):(.text$mn+0xf2): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/wgl_context.c.obj):(.text$mn+0x1fc): undefined reference to
`@__security_check_cookie@4'
E:\Programmes\Projets\Opengl/external/GLFW/lib-
vc2015/glfw3.lib(CMakeFiles/glfw.dir/wgl_context.c.obj):(.text$mn+0x48): undefined reference to
`_imp__SwapBuffers@4'
collect2.exe: error: ld returned 1 exit status
The terminal process terminated with exit code: 1
Terminal will be reused by tasks, press any key to close it.
So neither GLEW or GLFW work, meaning I can only use them with VS Community, which is slower and has no portable mode
It looks like you don't have the .dll file in the working dir of the project. Try moving the GLFW3.dll file to the compile/run location.
If that does not work then try adding #pragma comment(lib, "glfw3.lib")
and sometimes windows will need a lib like winmm.lib
so do the same thing there too
#ifdef _WIN32
#pragma comment(lib, "winmm.lib")
#endif // _WIN32
Make sure you also have a opengl lib too like glew or opengl32
you can find glew here: HERE
Note: There is better ways of doing this, this is just my way of importing libs into VS/VScode
也许尝试将 main.cpp 放在与 .dll 相同的目录中
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.