Re: static lib. force linkage
От: BulatZiganshin  
Дата: 26.03.15 12:23
Оценка:
Здравствуйте, df, Вы писали:

df> auto p = new ClassA123();


у меня с кучей компиляторов (включая msvc2013) работает

static int PPMD_x = AddCompressionMethod (parse_PPMD); // Зарегистрируем парсер метода PPMD

разница в том что это obj а не lib, namespace глобальный, AddCompressionMethod из другого obj. думаю что причина именно в первом — к lib линкер относится более агрессивно

ps: по карйней мере gcc делает именно так: "Also, gcc will ALWAYS link .o files, but it will only search libraries and link from them if there are undefined names still to resolve."

pps: изучение списка опций линкера даёт нам только один вариант. как я понимаю, библиотека рассматривается как набор всякого мусора, из которого следует включить только то, что непосредственно используется программой, и никакого способа принудительно включить все obj из библиотеки у нас нет

можешь попробовать -Gy- при компиляции, но как я понимаю с opt:noref это роли уже не играет
Люди, я люблю вас! Будьте бдительны!!!
Отредактировано 26.03.2015 12:41 BulatZiganshin . Предыдущая версия . Еще …
Отредактировано 26.03.2015 12:24 BulatZiganshin . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.