Порядок линковки в ld., divan, 20-Янв-04, 10:33 [смотреть все]Господа, подскажите, есть ли способ заставить линкер менять порядок обработки входных object-файлов и библиотек или вообще не зависеть от порядка?Если конкретнее, то проблема в следующем. Есть IDE, которая генерит Makeflie.am, configure.in и прочий autotools stuff :) Есть проект, пишушийся в этом IDE, который юзает статическую библиотеку из другого проекта. Сгенерированная IDE строка линкования выглядит примерно так: gcc -g ... -L../mylibdir -lmylib foo.o ... bar.o bar.o юзает функции из mylib, и они не линкуются(undefined reference to..) В принципе в мане так и написано. :-) Не сильно хочется править IDE, по этому собственно и вопрос. Может быть есть какой-то параметр или хитрый способ, чтобы обойти это?
|
- Порядок линковки в ld., ChiP, 15:16 , 20-Янв-04 (1)
>Господа, подскажите, есть ли способ заставить линкер менять порядок обработки входных object-файлов >и библиотек или вообще не зависеть от порядка? >Если конкретнее, то проблема в следующем. Есть IDE, которая генерит Makeflie.am, configure.in >и прочий autotools stuff :) Есть проект, пишушийся в этом IDE, >который юзает статическую библиотеку из другого проекта. Сгенерированная IDE строка линкования >выглядит примерно так: >gcc -g ... -L../mylibdir -lmylib foo.o ... bar.o Укажи параметры для линкера после объектных модулей, т.е. gcc -g ... foo.o ... bar.o -L../mylib -lmylib
- Порядок линковки в ld., divan, 15:28 , 20-Янв-04 (2)
>Укажи параметры для линкера после объектных модулей, т.е. > >gcc -g ... foo.o ... bar.o -L../mylib -lmylib Ну это понятно :) Дело в том, что эта строка генериться IDE, я её править не могу - точнее могу, но при пересборке проекта она вновь исправляется.
- Порядок линковки в ld., Soldier, 18:02 , 20-Янв-04 (3)
>>Укажи параметры для линкера после объектных модулей, т.е. >> >>gcc -g ... foo.o ... bar.o -L../mylib -lmylib >Ну это понятно :) Дело в том, что эта строка генериться IDE, >я её править не могу - точнее могу, но при пересборке >проекта она вновь исправляется. Чей то зАмкнутый круг получается: ничего изменять нельзя, но что бы что то обойти надо что-то изменить :))) Хотя вот способ (но я бы лучше IDE исправил...) Подсовывем свой gcc, в нем обрабатываем параметры, переставляем местами все что нужно (или добавляем еще каких-нибудь параметров) и вызываем настоящий gcc с измененными параметрами :)))
- Порядок линковки в ld., divan, 10:13 , 21-Янв-04 (4)
>Чей то зАмкнутый круг получается: ничего изменять нельзя, но что бы что >то обойти >надо что-то изменить :))) Нет, ну не совсем :) - Можно указывать параметры компиляртора и линкера. А IDE я уже поправил...
|