Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > static library как простой набор объектных файлов |
Автор: georain 15.12.2010, 19:08 |
Имеется набор .cpp файлов с которыми нужно собирать несколько библиотек. Естественное решение сделать из них static library и подключать её. Проблема в том, что никак не могу добиться чтобы было обычное поведение, как у набора .cpp файлов. Например чтобы работал rtti нужно добавлять __attribute__ ((visibility("default")) к классам, а мне бы не хотелось как либо менять код вообще, то есть чтобы код оставался таким, каким он был бы, если бы я собирал с .cpp напрямую. Ещё проблема с объектами-регистраторами (выполняют код в конструкторе на этапе инициализации библиотеки). При различных режимах линковки, либо вообще не экспортируются и не выполняются, либо конструктор выполняется больше одного раза, этого я вообще понять не могу почему (это когда с --whole-archive). (+ не могу понять влияние слова static перед определением объекта-регистратора) gcc 4.4.4 |
Автор: MAKCim 16.12.2010, 09:44 |
по идее проблем быть не должно архив статический - это просто контейнер |
Автор: georain 16.12.2010, 18:13 | ||||
Все заработало как надо после добавления ко всем проектам
и линковкой статических библиотек с --whole-archive
Спасибо! ![]() |