2

我正在尝试编译我正在研究的小型 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 并将其包含到我的项目中的信函,但我一直收到此错误。

这到底是怎么回事?

4

1 回答 1

0

我检查了 glew.h 并且我很确定您需要在包含 glew.h 之前添加GLEW_STATIC定义:

#define GLEW_STATIC
#include "GL/glew.h"
于 2012-12-27T06:23:30.570 回答