我正在一台没有root权限的计算机上进行一些C编程。我编译了一些我正在链接的共享库,但是因为我无法将这些库安装在典型的位置(/usr/local/lib
),所以每次编译和运行时都必须明确指定库的位置。编译时,这意味着将-L
标志添加到gcc
命令中,但对于程序执行而言,这更令人讨厌。我必须在每个会话中将非标准目录添加到LD_LIBRARY_PATH
,或者我必须将LD_PRELOAD=/path/to/libs
添加到execute命令的开头。替代LD_PRELOAD或LD_LIBRARY_PATH
有没有更好的方式在我没有root权限的机器上执行此操作?
顺便说一句,该机器运行的是Red Hat 4.1。
您可以使用'-rpath'或类似选项来硬编码二进制文件中库的路径。 – 2011-03-31 17:22:33
等等.. Red Hat 4.1!?!在这种情况下,您只需将其根目录并安装系统范围的库... – 2011-03-31 17:23:17