![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
georain |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
Имеется набор .cpp файлов с которыми нужно собирать несколько библиотек. Естественное решение сделать из них static library и подключать её. Проблема в том, что никак не могу добиться чтобы было обычное поведение, как у набора .cpp файлов.
Например чтобы работал rtti нужно добавлять __attribute__ ((visibility("default")) к классам, а мне бы не хотелось как либо менять код вообще, то есть чтобы код оставался таким, каким он был бы, если бы я собирал с .cpp напрямую. Ещё проблема с объектами-регистраторами (выполняют код в конструкторе на этапе инициализации библиотеки). При различных режимах линковки, либо вообще не экспортируются и не выполняются, либо конструктор выполняется больше одного раза, этого я вообще понять не могу почему (это когда с --whole-archive). (+ не могу понять влияние слова static перед определением объекта-регистратора) gcc 4.4.4 |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
по идее проблем быть не должно
архив статический - это просто контейнер -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
xvr |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 20 Всего: 223 |
Ответ уже прозвучал в вопросе: --whole-archive
По поводу
Еще есть одно но - вот выдержка из info на ld (на опцию --whole-archive):
![]() |
||||||
|
|||||||
georain |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
Все заработало как надо после добавления ко всем проектам
и линковкой статических библиотек с --whole-archive
Спасибо! ![]() |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |