【问题标题】:Can't get opengl/glfw to work with vs2015无法让 opengl/glfw 与 vs2015 一起使用
【发布时间】:2016-03-01 17:51:56
【问题描述】:

每当我尝试从 glfw 进行调用时,我都会收到链接错误,头文件都已设置好,所以不用担心它们。所以问题是 VS 似乎找不到 .lib 文件,我试图给出 glfw3.lib 的完整路径,我也尝试过使用两个 .lib 文件(glfw3.lib,glfw3dll.lib),但没有成功。我也有 glew 和 sfml 以防我应该提一下。

设置截图:http://imgur.com/WlrGTHq&XIKFdeE&seDfSGP 我收到的错误是“LNK2019”

【问题讨论】:

    标签: c++ visual-studio opengl setup-project


    【解决方案1】:

    从您的屏幕截图看来,您正试图在 Win32 配置中链接 x64 GLWF 库,当我重现该设置时,我也收到了许多 error LNK2019s 的欢迎。

    还应该有一个警告可以提示你:

    main.obj : error LNK2019: unresolved external symbol _glfwShowWindow
    referenced in function _main
    
    D:\Dev\glfw-3.1.2.bin.WIN64\lib-vc2015\glfw3.lib : warning LNK4272: 
    library machine type 'x64' conflicts with target machine type 'X86'
    

    如果我构建 x64 配置,它会链接并运行良好。

    【讨论】:

    • 当我更改为 x64 时,VS 抱怨 glew32.lib 是 x86 并且我正在尝试构建 x64,所以我需要一些 glew64.lib 吗?因为我找不到。
    • GLEW page 上可用的预编译二进制文件中,两者都包含在lib/Release/Win32/lib/Release/x64/ 下。这些与 VS 平台名称匹配,因此您可以简单地将 lib/Release/$(Platform)/ 添加为库目录。
    • glew32.libglew32s.lib,不过前者是glew32.dllbin/Release/$(Platform)/导入的库,后者是自包含的静态库。
    • 您在 glew 库中遇到的问题可能是 1) 混合发布和调试版本,它们链接不同版本的运行时库,2) 预编译的 glew 二进制文件是使用 VS2013 构建的。您可能必须使用 VS2015 从源代码构建 glew 并匹配您的编译器选项,或者试试这个NuGet package
    • 现在看来我正在解决这个问题,但现在它说“缺少 glew32.dll”,我试图通过进入 glew 文件夹的 bin 文件夹并找到 glew32.dll 来解决这个问题并将其放在 .libs 旁边,但没有结果甚至尝试重新启动 VS。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 2014-10-31
    • 2018-01-02
    • 2016-11-14
    • 2015-02-01
    • 2019-05-10
    • 2017-11-20
    相关资源
    最近更新 更多