5

我正在尝试使用 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。

谢谢!

4

2 回答 2

5

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

如果您使用 GNU 编译器,也-m32可以将CXXFLAGS对象编译为 32 位。

于 2010-03-27T01:30:17.147 回答
1

此链接链接表明问题在于您正在使用 32 位库进行 64 位编译。YMMV

于 2010-03-27T01:27:21.673 回答