Hyperlink 无法使用Mingw静态链接到glewInit()

Hyperlink 无法使用Mingw静态链接到glewInit(),hyperlink,mingw,glew,Hyperlink,Mingw,Glew,我目前正在使用GLEW构建一个程序,在Eclipse中使用MinGW编译。我从GLEW网站提供的源代码构建了GLEW LIB 如果我链接到.DLL,我就能够毫无问题地使用GLEW声明的函数。但是,如果尝试使用已定义的GLEW_静态标志链接静态库libglew32.a,则函数glewInit会出现错误: 对“imp”的未定义引用_glewInit@0" 如果我在十六进制编辑器中打开libglew32.a,我可以看到有一个条目,但它被命名为_glewInit@0. 因此,我的程序的编译器试图将这个

我目前正在使用GLEW构建一个程序,在Eclipse中使用MinGW编译。我从GLEW网站提供的源代码构建了GLEW LIB

如果我链接到.DLL,我就能够毫无问题地使用GLEW声明的函数。但是,如果尝试使用已定义的GLEW_静态标志链接静态库libglew32.a,则函数glewInit会出现错误:

对“imp”的未定义引用_glewInit@0"

如果我在十六进制编辑器中打开libglew32.a,我可以看到有一个条目,但它被命名为_glewInit@0. 因此,我的程序的编译器试图将这个imp字符串附加到库中函数名的前面,这似乎是一个脱节

看起来这里的呼叫约定一定不匹配,但我还不知道是什么原因造成的。根据设置的编译器定义,GLEW在标头中声明api函数的方式当然有很多种,但我还没有缩小范围

有什么想法吗?

看起来好像是为打算在运行时从.DLL加载的函数存根添加了imp前缀。换句话说,我实际上并不是静态地链接到GLEW。事实证明,我没有完全设置Eclipse C++符号,所以GLWWStItIt没有被定义。在确保在g++调用中设置了它之后,它的链接就正常了