От: | Went | ||
Дата: | 14.10.22 12:46 | ||
Оценка: |
При линковке указывается опция, чтобы скрыть символы, которые не указаны явно как "линкуемые"*namespace1*
*namespace2*
...
*namespaceN*
В результате, линкер засыпает меня миллионами предупреждений вроде:-fvisibility=hidden -fvisibility-inlines-hidden
Причина, мне кажется, очевидна: с одной стороны мы говорим "экспорти всё", с другой — "скрой то, что инлайновое или то неинлайновое, что, на наш взгляд, экспортить не нужно". Если не скрывать — ворнинги пропадают, но мы получаем +10% к размеру dylib, чего хотелось бы избежать. Писать экспорт-лист более конкретно, руками перечисляя всё что нужно — не вариант, проект слишком большой. Как правильно поступить? Можно просто "скрыть" этот ворнинг?ld: warning: cannot export hidden symbol namespace1::ClassWithDefaultDestructor::~ClassWithDefaultDestructor() from somefile.o
От: | Went | ||
Дата: | 20.10.22 08:33 | ||
Оценка: |