| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > GNU toolchain > В объектном файле нет символов нек-х функций |
| Автор: Feldsher 2.1.2014, 20:01 | ||||
| Ребята, всех с наступившим Новым годом! Подскажите, пожалуйста, в таком вопросе - средствами MinGW собираю динамическую библиотеку из нескольких исходников, в результирующих объектных файлах нет символов некоторых функций. Функции типа void, прототипы объявлены в заголовочных файлах, имплеметации - в файлах исходников. Флаги компиляции
флаги компоновки -
Компиляция идёт без сбоев, при компоновке - несколько ошибок "undefined reference" и и одна "bad reloc address". При просмотре объектных файлов символы требуемых функций вообще отсутствуют. Подскажите пожалуйста, как это исправить. Заранее спасибо! |
| Автор: Cheloveck 2.1.2014, 20:29 |
| gcc -fPIC -shared ... |
| Автор: leniviy 2.1.2014, 20:31 | ||||
f1.o и f2.o есть. А где f3.o ? Добавлено через 4 минуты и 27 секунд под виндой-то? Вроде бы такое только под -m64 нужно, и то не уверен |
| Автор: Feldsher 2.1.2014, 21:43 |
| Спасибо. Эти моменты неоднократно перепроверял. shared - флаг компоновки, проверял. fPIC в этой версии MinGW включен по умолчанию (при его явном указании появляется предупреждение о том, что он флаг уже активирован и его повторное объявление игнорируется). Список объектных файлов дал как пример, их около 30, компилируются все. Но в существующем объектнике нет символа реализованной в соответствующем исходнике функции. Просматриваю объектник через nm, название функции в выводе не отображается |
| Автор: Feldsher 3.1.2014, 05:42 | ||
|
| Автор: tzirechnoy 3.1.2014, 11:39 |
| Попробуйте сократить количество файлов до единственного "ошыбочного", и из него выкинуть всё, кроме объявления "ошыбочной функцыи. Результат можэте запостить сюда, если сами к тому времени не поймёте что случилось. PS Да, вангую static в имплементацыи функцыи. |