Я пытаюсь пользоваться библиотекой SDL_Image, и я добавил .so к списку библиотек ссылок для моего проекта (я использую Код:: Блоки, между прочим).
После выполнения этого, когда я перехожу к компиляции, я получаю эту ошибку:
Linking console executable: bin/Debug/ttfx
/usr/lib32/libSDL_image-1.2.so: could not read symbols: File in wrong format
Что это означает и как я могу получить его работа?
Править: Я использую gcc.
Спасибо!
На этапе связывания обнаруживаются несовместимости, поскольку некоторые из ваших объектных файлов были скомпилированы для 32-разрядной версии, а некоторые - для 64-разрядной. Глядя на его путь libSDL_image.so
, вероятно, был скомпилирован для 32-битной версии.
Если вы используете компилятор GNU, добавьте -m32
к вашему CXXFLAGS
, чтобы также скомпилировать ваши объекты для 32-битной версии.
Эта ссылка и эта предполагают, что проблема в том, что вы выполняете 64-битную компиляцию с 32- битовая библиотека. YMMV