Visual Studio 11 GLFW external symbol error

回眸只為那壹抹淺笑 提交于 2019-12-03 16:42:21

Ok, after very much trial and error I solved it.

  1. Use the 32-bit binaries
  2. Right click on the project -> Properties -> VC++
  3. Include Directories: C:\Users\MICHAEL\Desktop\glfw-3.0.3.bin.WIN32\include;$(IncludePath)
  4. Library Directories: C:\Users\MICHAEL\Desktop\glfw-3.0.3.bin.WIN32\lib-msvc110;$(LibraryPath)
  5. Linker -> Input -> Additional Dependencies add
  6. glfw3.lib and opengl32.lib

That solved it for me.

This is my solution if someone is intended to use 64 bit version of GLFW:

  1. Get GFLW source code from github.
  2. Using CMake to generate 64 bit Visual Studio sln.
  3. Configure the glfw using proper settings:

In case of dynamic library:

Project -> Configuration -> C/C++ -> Code Generation -> Runtime Library -> Multi-threaded Debug DLL (/MDd)

In case of static library:

Project -> Configuration -> C/C++ -> Code Generation -> Runtime Library -> Multi-threaded Debug (/MTd)

  1. Build the glfw project.
  2. Link the following binary in your project:

    glfw3.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;glfw3.lib
    
  3. Also configure your project using corresponding /MDd or /MTd compiler flag and configure it to build on x64.

  4. Build.

I do not have the needed reputation to comment on the accepted answer (by Michael), but I'd like to note that I got his method working. What I needed to correct was switching the include and library directories BEFORE the rest of the IncludePath/LibraryPath instead of AFTER it.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!