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