Ant*_*Ant 36 mac environment-variables osx-snow-leopard
我正在尝试在我的 Mac (OS X) 上安装一个用 C++ 编写的求解器,以便与我用 XCode 编写的代码一起使用。
求解器文档是这样说的:
一定要有“.” 在你
DYLD_LIBRARY_PATH为了
- 运行现成的可执行文件
- 链接 libamg.dylib(和 gfortran RTSlibs)
我真的不明白这是什么意思。我需要在哪里改变什么?
我已经做了一些谷歌搜索,但没有遇到任何对我这样的新手来说足够简单的东西!如果有任何耐心的人不介意将我引导到在线资源或向我提供如何以及在何处设置环境变量的 ab-cs,我将非常感激。
Dan*_*eck 26
它是一个环境变量,因此通常在终端中设置
export DYLD_LIBRARY_PATH=someValue
Run Code Online (Sandbox Code Playgroud)
man dyld 说:
DYLD_LIBRARY_PATH这是包含库的目录的冒号分隔列表。动态链接器在搜索库的默认位置之前先搜索这些目录。它允许您测试现有库的新版本。
对于程序使用的每个库,动态链接器
DYLD_LIBRARY_PATH依次在每个目录中查找它。如果仍然无法找到库,它就会搜索DYLD_FALLBACK_FRAMEWORK_PATH并DYLD_FALLBACK_LIBRARY_PATH反过来。使用该
-L选项otool(1)。发现可执行文件链接的框架和共享库。
你可能想要类似的东西
export DYLD_LIBRARY_PATH=.:$DYLD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)
将.(当前目录)添加到搜索的位置列表中。在我未修改的 OS X 上,DYLD_LIBRARY_PATH虽然没有当前值:
$ echo $DYLD_LIBRARY_PATH
$
Run Code Online (Sandbox Code Playgroud)
根据您打算如何运行程序,您需要进行不同的设置,例如在 Xcode 中(我不知道在哪里)。
TVN*_*ack 25
永远不要export DYLD_LIBRARY_PATH在您的系统上设置。
可以使用otool -L和修复共享库路径install_name_tool。
例如,如果您编译 Perl DBD-MySQL,您将无法使用它,因为链接器不知道您安装 MySQL 的位置。
># make
....
># otool -L blib/arch/auto/DBD/mysql/mysql.bundle
blib/arch/auto/DBD/mysql/mysql.bundle:
libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
#> install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib blib/arch/auto/DBD/mysql/mysql.bundle
># otool -L blib/arch/auto/DBD/mysql/mysql.bundle
blib/arch/auto/DBD/mysql/mysql.bundle:
/usr/local/mysql/lib/libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
#> make test
...
Result: PASS
#> make install
Run Code Online (Sandbox Code Playgroud)
就这么简单。
小智 7
在 Xcode 4 中,您可以将其添加到项目 Scheme 中以避免出现这样的错误:
dyld: Library not loaded: @loader_path/libLeap.dylib
Referenced from: /Users/paulsolt/Library/Developer/Xcode/DerivedData/LeapTest-eqcxmzewheyjusgrcszyvlcxlgna/Build/Products/Debug/LeapTest
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
在菜单中点击“产品”->“编辑方案”->“参数”选项卡->添加“环境变量”->键:DYLD_LIBRARY_PATH 值:/Users/MyUserAccount/path/to/lib
更改您的用户帐户的路径和库文件夹的完整路径。
您应该能够构建和运行。

| 归档时间: |
|
| 查看次数: |
107510 次 |
| 最近记录: |