关于linux下编译的几点知识

1、-L、-rpath 和 rpath_link的区别

参考博客文章:https://www.cnblogs.com/candl/p/7358384.html

(1)-rpath和-rpath-link都可以在链接时指定库的路径;

(2)运行可执行文件时,-rpath-link指定的路径不再有效(链接器没有将库的路径包含进可执行文件中),

            而-rpath指定的路径还有效(因为链接器已经将库的路径包含在可执行文件中);

(3)-L指定的是链接时的库路径,生成的可执行文件在运行时库的路径仍由LD_LIBRARY_PATH环境变量指定;

(4)不管采用何种选项链接,当提示找不到动态库时均可通过设置LD_LIBRARY_PATH解决。

2、qmake环境构建的时候可以

QMAKE_CXXFLAGS + = -rpath = / / absolute / path 技术,替代LD_LIBRARY_PATH。

注:以上都是网上搜集资源所得,还未经过本人验证。

猜你喜欢

转载自www.cnblogs.com/m-zhang-yang/p/10721556.html