【发布时间】:2014-05-23 18:10:49
【问题描述】:
我正在使用 ssh 在服务器中进行一些计算。但我对 unix 完全陌生。我有一个 .so 文件需要链接到程序。但是,当我运行程序时,它会报告以下错误
MatMult.so: cannot open shared object file: No such file or directory
Link error: 'MatMult' cannot load dll
Link error: 'MatMult' undefined function
我想我需要更改 LD_LIBRARY_PATH 以在路径上创建 .so 文件。但我不知道怎么写。原行是
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OXHOME/bin64:$niqlowHOME/include:$OXDEV
我的问题是如何修改这一行以使链接成为可能。是否有任何资源可供我阅读以了解该行的作用。
【问题讨论】:
-
删除了 ddl 标签; dll 可能是相关的(尽管它适用于 Microsoft)或共享库。这里没有足够的信息。 LD_LIBRARY_PATH 的设置对编译器链接操作没有影响。您可以指定链接时选项(
-Wl,rpath=/some/where或类似的选项)来标识共享库在运行时的位置,或者您可以使用LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/some/where添加包含共享库的目录,可选前缀为export。 -
我的意思是 dll ,而不是 ddl