• 2184阅读
  • 3回复

[讨论]如何在Linux下打包发布.so动态链接库以及可执行程序 [复制链接]

上一主题 下一主题
离线星旅怀人
 

只看楼主 倒序阅读 楼主  发表于: 2019-09-25
之前接了一个项目,要求在WindowsLinux下都可以运行,所以选用了QT来做
要求写一个动态链接库,然后再写一个界面去调用它来测试
Windows下的动态链接库dll文件和exe可执行文件都已经发布成功
linux下的.so的动态链接库和可执行界面的源代码也都编译运行成功,可是找不到打包的方法
网上几乎找不到linux下QT编写.so的动态链接库的打包发布方法

而且一般只有介绍linux下QT可执行文件的打包发布方法,没有详细给出调用了外部动态链接库的可执行文件的打包方法
离线星旅怀人

只看该作者 1楼 发表于: 2019-09-25
希望大佬们给点意见
离线liulin188

只看该作者 2楼 发表于: 2019-09-25
直接打个tar.gz包不行?

我记得linux调用so库有个环境变量LD_LIBRARY_PATH好像是
https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
离线20091001753

只看该作者 3楼 发表于: 2019-09-26
Win 系统默认,优先在 exe 目录下找 dll

linux 并非默认,但也可以实现,在 pro 文件中加入:

QMAKE_LFLAGS += -no-pie -Wl,-rpath=.

然后,你把相应的 so 文件放到执行文件目录下即可。

这样发布的过程,就像 win 一样便利,传一个压缩包,解压即可用。
4条评分好评度+1贡献值+1金钱+1威望+1
lieber 好评度 +1 - 2019-09-26
lieber 贡献值 +1 - 2019-09-26
lieber 威望 +1 - 2019-09-26
lieber 金钱 +1 - 2019-09-26
(づ ̄ 3 ̄)づ
快速回复
限100 字节
 
上一个 下一个