我正在尝试编译我正在使用的小型 2D 引擎。到目前为止一切顺利,但自从我包含 GLEW(因为我想开始处理一些片段着色器)以来,测试程序拒绝构建。为了澄清,我将引擎构建为静态库 (Mage2D.lib),然后构建使用该库的测试程序。
这是我遇到的错误:
1>Link:
1> libpng15.lib(pngget.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>Mage2D_D.lib(root.obj) : error LNK2001: unresolved external symbol __imp__glewIsSupported@4
1>Mage2D_D.lib(root.obj) : error LNK2001: unresolved external symbol __imp__glewInit@0
1>C:\Users\Jesse\Documents\Visual Studio 2010\Projects\Rose\Debug\MageTest.exe : fatal error LNK1120: 2 unresolved externals
1>
1>Build FAILED.
现在我通常意识到这意味着我没有将正确的库包含到我的测试程序 (glew32.lib) 中。但这里不可能是这种情况,因为我将 glew.c 构建到 Mage2D.lib 中。 GLEW 实际上是 Mage2D 源代码的一部分,因为它似乎很方便地使用一个包含四个文件且无论如何都是引擎不可或缺的一部分的程序来执行此操作。
我按照 GLEW 在其网站上关于如何构建 GLEW 并将其包含到我的项目中的说明进行了操作,但我不断收到此错误。
这到底是怎么回事?
最佳答案
我已经检查了 glew.h,我很确定您需要在包含 glew.h 之前添加 GLEW_STATIC 定义:
#define GLEW_STATIC
#include "GL/glew.h"
关于c++ - 库正常编译时出现链接器错误 (LNK2001),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14046272/