【发布时间】:2011-03-31 16:46:11
【问题描述】:
我正在一台我没有 root 访问权限的机器上进行一些 C 编程。我已经编译了一些我要链接的共享库,但是因为我无法在典型位置 (/usr/local/lib) 安装这些库,所以每次编译和运行时我都必须明确指定库的位置。编译时,这只是意味着将-L 标志添加到gcc 命令中,但是对于程序执行而言,这更烦人。要么我必须在每个会话中将非标准目录添加到LD_LIBRARY_PATH,要么我必须将LD_PRELOAD=/path/to/libs 添加到执行命令的开头。
有没有更好的方法在我没有 root 访问权限的机器上执行此操作?
顺便说一句,机器运行的是 Red Hat 4.1。
【问题讨论】:
-
您可以使用
-rpath或类似选项对二进制文件中的库路径进行硬编码。 -
等等.. Red Hat 4.1!?!在这种情况下,您可以根它并在系统范围内安装库...
标签: c shared-libraries dynamic-linking