LNK2019 glewInit

不羁的心 提交于 2019-12-12 04:56:02

问题


I have glew version 1.9.0 I have put all the header files in the MSVS include directory and all the lib files in the lib folder. I then put the dll within the sysWOW64 folder and have added all the libs needed in the additional dependencies under the project properties which are:

  • opengl32.lib
  • glu32.lib
  • glut32.lib
  • glew32.lib
  • glew32mx.lib
  • glew32s.lib
  • glew32mxs.lib

However I am getting a linker error

Error 1 error LNK2019: unresolved external symbol _glewInit@0 referenced in function _main C:\Users\x\documents\visual studio 2013\Projects\openGLTest\openGLTest\main.obj openGLTest


回答1:


First, you should not place your DLLs into sysWOW64 or any other Operating System owned directory such as System32. That said, this has nothing to do with where you placed your DLLs and everything to do with the library you linked to (or rather did not link to).

You also should not be linking to 4 different GLEW configurations:

  1. Dynamic (glew32)
  2. Dynamic multi-context (glew32mx)
  3. Static (glew32s)
  4. Static multi-context (glew32mxs)

The best library to link to usually is glew32s.lib as it negates the need for the DLL in the first place, but then you need to add #define GLEW_STATIC before you #include "glew.h"

In MSVC you can add the following to a source file to take care of all of these things at once:

#pragma comment (lib, "glew32s.lib")
#define GLEW_STATIC
#include "glew.h"



回答2:


I found the solution to this problem here:

  • Include Header files:

    1. Right click on your project > Properties > Configuration > C/C++ > General > Additional Include Directories
    2. On the right dropdown, click <Edit...>
    3. Additional Inclue Directories has appeared
    4. Click the new line icon > browse button then select the glew include folder: $(your path to glew)\glew-1.12.0\include
  • Include Libraries

    1. Right click on your project > Properties > Configuratio Properties > Linker > General > Additional Library Directories
    2. Click <Edit...>
    3. Additional Library Directories has appeared
    4. For the 64-bit version: add $(your path to glew)\glew-1.12.0\lib\Release\x64
    5. For 32-bit version: add $(your path to glew)\glew-1.12.0\lib\Release\Win32
    6. Right click on your project (again) >Properties > Configuration Properties > Linker > Input > Additional Dependencies
    7. Click <Edit..>
    8. Additional Dependencies window has appeared
    9. Click the white area and write glew32.lib

(Side Note: The accepted answer did NOT solve the problem)



来源:https://stackoverflow.com/questions/24175420/lnk2019-glewinit

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