linux下qt程序怎么静态调用libqt5core.so

linux下qt程序怎么静态调用libqt5core.so,第1张

1,如果同时打开静态库和运行程序调用,调式模式下,可以进入静态库的内部函数进行调试;

2,其实不用把shadow build取消勾选;文件输出的文件就是lib***.a的文件,可以在shadow目录里面很方便找到;

3,新的项目使用的时候,就是让其能找到lib***.a,和该库的h头文件;

4,QT的编译输出的静态库名字会自动在项目名字前加lib三个字,后缀是.a;

5, QT5.15的编程的工程与该例子中缺少“需要什么模块就添加什么”的部分;

1、linux下复制qt release模式生成的可执行文件到桌面的新建目录。

2、编写脚本文件ldd.sh 作用:导出可执行程序运行时所需要的库文件 点击下载。

3、执行 ./ldd.sh + 可执行程序 在当前的文件夹下生成lib文件。复制lib下的库文件 与可执行文件同级目录。

4、到Qt安装目录里 找到platform文件夹 我的目录是 /opt/Qt5.7.0/5.7/gcc_64/plugins/platforms 复制此文件夹与可执行文件同级目录。

5、复制ldd.sh到platforms文件夹内,执行 ./ldd.sh libqxcb.so 将生成的lib目录下的库文件拷贝至可执行文件同级目录。删除platforms里的lib文件。

6、执行下载到的脚本文件 ./app.sh

注:app.sh与可执行文件同名。在windows下写的脚本文件 在linux下使用是出现 /bin/bash^M: bad interpreter:没有那个文件或目录 解决办法

vim 打开脚本文件 :set ff? 显示 ff=dos 修改成 :set ff=unix :wq保存退出即可

qt程序动态打包步骤

1.从可运行程序的文件中拿出可执行文件

2.终端下使用ldd命令查看需要的连接库

例如 ldd + 可执行文件

3.把ldd查询到的所有需要的库导出

4.编写.sh文档(.sh文件命名必须与可执行文件名字一样例:可执行文件名 test, .sh 文件名为 test.sh)

.sh文件代码如下:

#!/bin/sh

appname=`basename $0 | sed s,\.sh$,,`

dirname=`dirname $0`

tmp="${dirname#?}"

if [ "${dirname%$tmp}" !="/" ]then

dirname=$PWD/$dirname

fi

LD_LIBRARY_PATH=$dirname

export LD_LIBRARY_PATH

$dirname/$appname $*

5.把所用到的库,可执行文件, .sh文件放到同一目录下

6.终端中进入这一目录,输入:

chmod +x test.sh

7.执行程序点击.sh文件或者终端输入:

./test.sh


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/9013546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存