C ++链接器错误SDL图像 - 无法读取符号

时间:2010-03-27 01:22:51

标签: c++ linux codeblocks

我正在尝试使用SDL_Image库,并且已经将.so添加到我的项目的链接库列表中(顺便说一下,我使用的是Code :: Blocks)。

执行此操作后,当我编译时,我收到此错误:

Linking console executable: bin/Debug/ttfx
/usr/lib32/libSDL_image-1.2.so: could not read symbols: File in wrong format

这是什么意思,我怎样才能让它发挥作用?

编辑:我正在使用gcc。

谢谢!

2 个答案:

答案 0 :(得分:5)

在链接步骤中,由于某些目标文件是针对32位编译的,而某些目标文件是针对64位编译的,因此存在不兼容性。查看它的路径libSDL_image.so可能是为32位编译的。

如果您使用GNU编译器将-m32添加到CXXFLAGS以编译32位对象。

答案 1 :(得分:1)

This linkthis one表明问题是您正在使用32位库进行64位编译。 YMMV