【问题标题】:how to set LD_LIBRARY_PATH in ubuntu 11.04如何在 ubuntu 11.04 中设置 LD_LIBRARY_PATH
【发布时间】:2013-05-08 09:17:07
【问题描述】:

我已经看到了许多 LD_LIBRARY_PATH 的链接,但无法获得 LD_LIBRARY_PATH 的确切方法。 我在需要的地方使用了 ldd(用于动态库)

linux-gate.so.1 =>  (0x00f84000)
libcrypto.so.0.9.8 => /lib/libcrypto.so.0.9.8 (0x0018c000)
libxml2.so.2 => /usr/local/lib/libxml2.so.2 (0x00318000)
libxmlsec1.so.1 => /usr/local/lib/libxmlsec1.so.1 (0x00caa000)
libprotobuf-c.so.0 => /usr/local/lib/libprotobuf-c.so.0 (0x00957000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0x00110000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x009cc000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0x00136000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0x00b89000)
libxslt.so.1 => /usr/local/lib/libxslt.so.1 (0x0013a000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0x00172000)
libltdl.so.7 => /usr/lib/libltdl.so.7 (0x0017b000)
/lib/ld-linux.so.2 (0x007d1000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0x00d6a000)

请告诉我必须用路径定义的确切方式和位置。

【问题讨论】:

标签: c linux shared-libraries


【解决方案1】:

最简单的方法是在程序的同一命令行上:

LD_LIBRARY_PATH="/my/special/path:$LD_LIBRARY_PATH" myprogram

您也可以export该变量通过当前终端中的命令使其持久化:

export LD_LIBRARY_PATH="/my/special/path:$LD_LIBRARY_PATH"

myprogram1
myprogram2

在这种情况下,两个程序都会看到新的库路径。

【讨论】:

  • my/special/path=" /lib/libcrypto.so.0.9.8" 将是这个。并且 $LD_LIBRARY_PATH 将保持不变。
  • Libcrypto 已经在路径上(事实上,ldd 在上面的列表中找到了它)
  • /lib、/usr/lib、/usr/local/lib 中的所有库都已被识别,您无需执行任何操作。你想达到什么目的?
  • k.这意味着不需要 LD_LIBRARY_PATH。
猜你喜欢
  • 2011-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多