GCC 4.2.1 Дарвин Избегайте дублирования символов - PullRequest
2 голосов
/ 18 июля 2009

Я создаю приложение для iPhone OS 3.0 Из-за ошибки в GCC 4.2.1 я добавляю флаг -all_load к компоновщику, чтобы построить его на iPhone OS 3.0 Но тогда я получаю дубликат символа _fill_fopen_filefunc в /Users/TMC2/Programming/Client/test/build/Debug-iphoneos/test.a(ioapi.o) и /Users/TMC2/Programming/Client/test/build/Debug-iphoneos/test.a (ioapi.o)

Как избежать дублирования символов? Энди предложения?

1 Ответ

1 голос
/ 18 июля 2009

Повторите команду linker, пропустив одну из библиотек, и посмотрите, что произойдет. Это довольно просто, если вы передаете выходные данные сборки в файл и просто редактируете оператор компоновщика.

Поскольку вы собираете с исходным кодом, стоит попробовать заменить один из исходных файлов, генерирующих ioapi.o, чем-то, содержащим только пробел. Статическим библиотекам не нужно разрешать свои символы, пока что-то не свяжет с ними загружаемый модуль.

Ваш пробег может варьироваться в зависимости от одного из них.

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