У меня есть проект C с использованием нескольких объектных файлов, которые необходимо связать в определенном порядке, чтобы найти все необходимые символы.Порядок объектов в статической библиотеке
Например, эта команда работает отлично (lib2.o зависит от lib1.o и т.д.)
gcc -o my_app main.o lib1.o lib2.o lib3.o -lm
но
gcc -o my_app main.o lib3.o lib2.o lib1.o -lm
заканчивается с неопределенным ссылкой на `my_variable» ошибок.
Это известное поведение и может быть решено, например, путем добавления этих объектов в раздел GROUP в сценарии компоновщика.
Теперь я хотел бы поделиться этим объектом как статической библиотекой с моими коллегами. Так ...
ar -rcs mylib.a lib1.o lib2.o lib3.o
gcc -o my_app main.o mylib.a -lm
К сожалению, это дает те же неопределенные опорные ошибки, что и указание объектов в неправильном порядке.
Я не нашёл ссылок на какие-либо ссылки или архиваторы, чтобы заставить его работать, а также нет решения googling, даже если я думаю, что эта проблема должна быть относительно распространенной.
Неужели кто-нибудь знает решение?
С уважением Jan
Вы можете показать вывод 'nm -s mylib.a' – askmish