Какой параметр компоновщика определяет путь загрузки общей библиотеки? - PullRequest
1 голос
/ 24 октября 2010

Я собрал библиотеку Poco C ++ на Mac. При проверке встроенных выходных файлов я замечаю, что их пути загрузки являются абсолютными путями, указывающими на каталог сборки. Например:

$ otool -L libPocoFoundation.dylib
libPocoFoundation.dylib:
    /Users/francis/orig/poco-1.3.6p2/lib/Darwin/i386/libPocoFoundation.9.dylib (compatibility version 0.0.0, current version 0.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.0)
    /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 625.0.0)

Какой параметр компилятора или компоновщика определил это? Как я могу переопределить это? (Во время компиляции. Я знаю, что потом могу изменить его с помощью install_name_tool.)

Редактировать
Компилятор g++-4.0 (версия gcc 4.0.1 Apple).
Компоновщик libtool (версия cctools-782 Apple Computer, Inc.)

Я сейчас просматриваю make-файлы. Возможно, я сам это выясню. Но вся помощь приветствуется!

1 Ответ

1 голос
/ 24 января 2011

Смежный вопрос на stackoverflow.com «Как установить путь времени выполнения (-rpath) исполняемого файла с gcc под Mac OSX?» объясняет некоторые способы сделать это во время компиляции.

Кстати: я воспроизвел вашу ошибку POCO на MacOS Leopard и открыл ошибку 3164792 для POCO-1.4.0

...