Я собираю RPM, и во время сборки я обнаружил, что следующая команда используется для создания одного общего объекта RPM.
g++ /*some compiler options*/ -O1 -Wl,--version-script abc.map -L<some paths> and the remaining command.
Я не понял, что такое использование параметра «—version-script» и файла «abc.map» в команде. Что оно делает?
Follwoing — это содержимое файла abc.map.
URE_1{
global:
_ZTI*; _ZTS*; # weak RTTI symbols for C++ exceptions
/*some method names explicitly*/
local:
*;
}
Я думаю, что это связано с наличием символов в файле «общего объекта», но я не уверен.
Я думаю, что это связано с наличием символов в файле «общего объекта», но я не уверен.
Вы правы.
Увидеть 3.9 Команда VERSION:
Компоновщик поддерживает версии символов при использовании ELF. Версии символов полезны только при использовании общих библиотек. Динамический компоновщик может использовать версии символов для выбора конкретной версии функции, когда он запускает программу, которая может быть связана с более ранней версией общей библиотеки.
Других решений пока нет …