动态链接库的问题
发表于 : 2009-07-17 10:25
我自己写了一个动态链接库 libxxx.so,希望在编译程序的时候使用它。
现在我将这个动态链接库放在待编译的程序所在的目录,使用下面命令编译:
编译通过,但编译得到的程序无法运行。在网上查找后,发现可以用下面方式执行:
然后,我想把这个动态链接库静态编译入程序,因此使用下面命令:
此时却提示
前面加上 LD_LIBRARY_PATH 或 LIBRARY_PATH 变量也没有用……
经过实验,如果将 libxxx.so 拷入 /usr/lib 就可以使用了。
那么我现在想问如何在不需要动用 root 权限的情况下,如何才能将我的动态链接库(不要转变成静态链接库)静态编译入程序?
现在我将这个动态链接库放在待编译的程序所在的目录,使用下面命令编译:
代码: 全选
gcc -L. -lxxx -o t t.c
代码: 全选
LD_LIBRARY_PATH=`pwd` ./t
代码: 全选
gcc -static -L. -lxxx -o t t.c
代码: 全选
/usr/bin/ld: cannot find -lxxx
collect2: ld 返回 1
经过实验,如果将 libxxx.so 拷入 /usr/lib 就可以使用了。
那么我现在想问如何在不需要动用 root 权限的情况下,如何才能将我的动态链接库(不要转变成静态链接库)静态编译入程序?