我正在尝试构建一个 32 位 libGLEW.so .. 我在 64 位 linux 上.. 我尝试将 -m32 添加到 Makefile 中的 CFLAGS .. 它说:
cc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -m32 -fPIC -o tmp/linux/default/shared/glew.o -c src/glew.c
cc -shared -Wl,-soname=libGLEW.so.1.9 -o lib/libGLEW.so.1.9.0 tmp/linux/default/shared/glew.o -L/usr/X11R6/lib64 -L/usr/lib64 -lXmu -lXi -lGL -lXext -lX11
/usr/bin/ld: i386 architecture of input file `tmp/linux/default/shared/glew.o' is incompatible with i386:x86-64 output
/usr/bin/ld: tmp/linux/default/shared/glew.o: file class ELFCLASS32 incompatible with ELFCLASS64
/usr/bin/ld: final link failed: File in wrong format
collect2: error: ld returned 1 exit status
make: *** [lib/libGLEW.so.1.9.0] Error 1
我不太确定这意味着什么?似乎它构建了一个 32 位 .o 文件,但试图将其链接为 64 位目标?我该如何解决这个问题.. 我已经看到它添加了 -L/usr/X11R6/lib64 和 -L/usr/lib64 ,但我也尝试运行 make SYSTEM=gnu 广告 /usr/X11R6/lib和 /usr/lib 文件夹,但它给了我同样的错误..