C ++ Linker Error SDL Image - не удалось прочитать символы - PullRequest
5 голосов
/ 27 марта 2010

Я пытаюсь использовать библиотеку 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 голосов
/ 27 марта 2010

На этапе компоновки возникают несовместимости, поскольку некоторые из ваших объектных файлов были скомпилированы для 32-разрядных, а некоторые для 64-разрядных. Глядя на его путь libSDL_image.so, вероятно, был скомпилирован для 32-разрядного.

Если вы используете компилятор GNU, добавьте -m32 к вашему CXXFLAGS, чтобы компилировать ваши объекты и для 32-битных систем.

1 голос
/ 27 марта 2010

Эта ссылка и эта предполагают, что проблема в том, что вы выполняете 64-битную компиляцию с 32-битной библиотекой. YMMV

...