Статическое связывание -lobc в GCC 4.6.x - PullRequest
2 голосов
/ 20 января 2012

Моя проблема возникает при использовании MinGW32-w64 с GCC 4.6.1

В более старых версиях GCC библиотека времени выполнения ObjC была по существу гнилой на корню; часто предлагалось уничтожить общую библиотеку и связать ее только со статической библиотекой. Сама библиотека существовала только как единственная версия, libobjc.a.

Начиная с GCC 4.6, мы получили совершенно новую библиотеку времени выполнения ObjC, которая поддерживает функции 2.0 и все другие полезные вещи. Он также представил как 64-, так и 32-разрядные версии общей библиотеки (libobjc_64-3.dll, libobjc-3.dll), с которыми вы можете ссылаться без проблем.

Беглый взгляд на статическую библиотеку показывает, однако, только один файл, libobjc.a, и вот где моя проблема: попытка статически связать эту библиотеку дает ссылку на неопределенную ошибку для всех функций библиотеки времени выполнения.

Честно говоря, я не знаю, куда идти отсюда, и все мои поиски не дали ничего полезного. Надеюсь, кто-то может пролить свет на этот вопрос.

Чтобы статически связать библиотеку, я попробовал оба варианта -Wl,-static -lobjc, и когда это не сработало, не было -static -lobjc, чтобы заставить приложение связывать все как статическую библиотеку. Я получил одинаковую ошибку в обоих случаях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...