C 如何在Ubuntu11.04中设置LD_LIBRARY_路径

C 如何在Ubuntu11.04中设置LD_LIBRARY_路径,c,linux,shared-libraries,C,Linux,Shared Libraries,我已经看到了很多关于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.

我已经看到了很多关于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)

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

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

LD_LIBRARY_PATH="/my/special/path:$LD_LIBRARY_PATH" myprogram
您还可以通过当前终端中的命令导出该变量,使其保持不变:

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中的所有库都已被识别,您无需执行任何操作。你想达到什么目的。这意味着不需要LD_LIBRARY_PATH。可能与、、等重复。