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

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。
谢谢!
2个回答

5
在链接步骤中存在不兼容性,因为一些目标文件是为32位编译的,而另一些是为64位编译的。通过查看其路径 libSDL_image.so,可以看出它可能是为32位编译的。
如果您使用GNU编译器,请在CXXFLAGS中添加-m32以将您的目标文件编译为32位。

1
我应该如何将它添加到我的CXXFLAGS中呢?是在我将该文件添加到链接库列表的附近吗? - Matthew H
1
@Matt:我自己不使用 codeblocks,但文档中的这个部分似乎详细说明了需要做什么。http://wiki.codeblocks.org/index.php?title=Developing_32_bit_apps_under_64_bit_Linux_(Ubuntu)#Setting_the_build_options_in_Code::Blocks - Benjamin Bannier
@MatthewH,你找到如何将它添加到CXXFLAGS了吗?你能告诉我怎么做吗? - Black

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接