2015-04-10 3 views
0

В Makefile я передаю RPATH линкера, как этоМожет ли значение rpath быть символической ссылкой?

-Wl,-rpath,/absolute_path_to_folder_with_lib 

Все работает, но когда я делаю

-Wl,-rpath,~/symlink 

Где ~/символическая ->/absolute_path_to_folder_with_lib Библиотека не загружается Может ли значение rpath быть символической ссылкой?

ответ

0

Может ли значение rpath быть символической ссылкой?

Он уверен, что может, но вы неправильно поняли свою проблему, которая не связана с символической ссылкой, а о расширении ~.

Когда вы связываете бинарного с -Wl,-rpath,~/symlink, вы в конечном итоге с RPATH, который буквально~/symlink. Такой каталог (или символическая ссылка) не существует.

При вводе, например. ls ~/symlink в вашу оболочку, то, что на самом деле происходит, заключается в том, что ваша оболочка расширяет ~ до того, что установлено $HOME, а затем делает readdir на расширенным.

Но динамический компоновщик не выполняет такого расширения, и буквально ищет ./~/symlink, которого, конечно, не существует.

Что вы хотите, то есть: -Wl,-rpath,$HOME/symlink.