在linux

时间:2015-08-02 11:57:29

标签: c++ linux glew mingw-w64

我在Ubuntu 32位上交叉编译我的3d项目的win32版本,并且无法与glew static链接。

我使用glew 1.12包中提供的配置文件为mingw生成libGLEW.a:

  

make SYSTEM = linux-mingw64

在我的项目lib目录中将其重命名为libGLEW_win32.a,
添加编译器定义标志:

  

GLEW_STATIC

编译Codeblocks中的所有模块。 cb发送的链接命令是:

  

i686-w64-mingw32-g ++ - posix -L / usr / local / lib   -L / usr / i686-w64-mingw32 / lib -o ../bin/pgm.exe obj / Bar.o obj / Cache.o obj / Camera.o obj / Config.o obj / Fab.o obj / Font .o obj / main.o obj / Math.o   obj / Mesh.o obj / OpenGL.o obj / Selector.o obj / Shadow.o obj / Shader.o   obj / System.o obj / Texture.o obj / Tile.o -std = c ++ 0x -static-libstdc ++   -static-libgcc -lodbc32 -lwsock32 -lwinspool -lwinmm -lshell32 -lctctl32 -lctl3d32 -lodbc32 -ladvapi32 -lodbc32 -lwsock32 -lopengl32 -lglu32 -lole32 -loleaut32 -luuid ../lib/libGLEW_win32.a ../libAntTweakBar_win32

但我仍然得到所有glew功能的未定义引用(以及AntTweakBar,但让我们专注于glew)。

  

référenceindéfinievers__glewGenBuffers
  référenceindéfinievers__glewBindBuffer
  référenceindéfinievers__glewBufferData

     

...

     

référenceindéfinieversTwInit   ...

我做了一个libGLEW_win32.a的十六进制转储,并找到了所有的glew功能,如预期的__前缀。该文件长度为670582字节,与该lib一致。它是我系统中唯一一个这样命名的文件,因此不存在混淆。

可能是一个非常基本的疏忽,但我很尴尬地承认我已经有一段时间了,而且我看不出有什么遗漏。

0 个答案:

没有答案