簡體   English   中英

在 Visual Studio Code 中鏈接 GLFW

[英]Linking GLFW in Visual Studio Code

我最近試圖了解如何在 Visual Studio Code 中鏈接 GLFW、GLEW、glm 和 Soil2。 我在 USB 密鑰上使用 mingw 32 位,因為我更喜歡能夠在高中有空閑時間時進行編程,並且所有計算機(在學校和家里)都安裝了 Windows。 這是我的 JSON 文件:

tasks.json(使用 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"
        }
      }
    ]
  }

啟動.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"
        }
    ]
}

這是我放在 code/main.cpp 中的 GLFW 文檔中的示例代碼(帶有 glew 代碼):

#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;
}

編譯后,此程序返回此錯誤日志:

> 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. 

所以 GLEW 或 GLFW 都不起作用,這意味着我只能將它們與 VS Community 一起使用,后者速度較慢且沒有便攜模式

看起來您在項目的工作目錄中沒有.dll文件。 嘗試將GLFW3.dll文件移動到編譯/運行位置。

如果這不起作用,請嘗試添加#pragma comment(lib, "glfw3.lib")有時 Windows 需要像winmm.lib這樣的庫,所以在那里也做同樣的事情

#ifdef _WIN32
#pragma comment(lib, "winmm.lib")
#endif // _WIN32

確保你也有一個像glewopengl32這樣的 opengl 庫

你可以在這里找到glew:這里

注意:有更好的方法可以做到這一點,這只是我將庫導入 VS/VScode 的方法

也許嘗試將 main.cpp 放在與 .dll 相同的目錄中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM