1.
-rpath 提供动态库的路径(不需要修改LD_LIBRARY_PATH环境变量,程序也能找到动态库)
还有三种指定动态库路径的方法:
第一种通过环境变量LD_LIBRARY_PATH
把当前目录添加到共享库的搜索路径,不过这种方法只适合在开发中临时用一下,通常LD_LIBRARY_PATH
是不推荐使用的,尽量不要设置这个环境变量
第二种方法就是把libstack.so
拷到/usr/lib
或/lib
目录,这样可以确保动态链接器能找到这个共享库。
推荐第三种 把动态库所在目录的绝对路径(比如/home/akaedu/somedir)添加到/etc/ld.so.conf
中(该文件中每个路径占一行),然后运行ldconfig
(ldconfig -v)
2 。-Xlinker 可以使用这个来提供系统特定的的但GCC不知道如何识别连接选项, -Xlinker必须使用两次