Для удобства я добавил соответствующие страницы руководства ниже.
Мое (неправильное) понимание в первую очередь: если мне нужно разделить параметры с помощью ,
, это означает, что второй -Wl
не является другим вариантом, потому что он предшествует ,
, что означает, что это аргумент опции -rpath
.
Я не понимаю, как -rpath
может иметь -Wl,.
аргумент!
На мой взгляд, смысл был бы таким:
-Wl,-rpath .
Это должно вызвать опцию компоновщика -rpath с аргументом текущего каталога.
man gcc:
-Wl, option
Передать опцию как вариант для компоновщик. Если опция содержит запятые, она разделен на несколько вариантов в запятые. Вы можете использовать этот синтаксис для передать аргумент опции. Для например,
-Wl, -Map, output.map
передает-Map output.map
компоновщику. Когда используя компоновщик GNU, вы также можете получить тот же эффект с `-Wl, -Map = output.map '.
man ld:
-rpath = dir
Добавить каталог в Путь поиска библиотеки времени выполнения. Это используется при компоновке исполняемого файла ELF с общими объектами. Все -rpath аргументы объединяются и передаются компоновщику времени выполнения, который их использует для поиска общих объектов во время выполнения. Параметр -rpath также используется, когда поиск общих объектов, которые явно необходим разделяемым объектам включены в ссылку;