linux打包Qt,收集依赖库脚本】的更多相关文章

昨天终于改好了一个开源但是用起来有问题的串口调试助手,想把它打包一下以后在其他电脑上也可以用. 找了网上的一个教程打包后,在本机上可以正常使用,但是移植到另一台上就出现缺少xcb的提示. 上网搜资料倒腾了一番后,发现libqxcb.so链接文件出了一些问题,问题有点大,也意识到这一部分依赖的配置是有问题的. 于是重新搜索QT在Linux下的打包流程,发现了有一份教程比之前的教程多了一步用脚本给libqxcb.so寻找依赖库的操作,感觉找到了正解. 果然,这次没有再出现xcb的加载问题.感谢网络上…
随着程序写的逐渐变多,或多或少的我们都会使用别人写好的库:或者我们不想让别人看到我们的一些核心程序,可以将核心程序封装成库.本次和大家分享的是在Ubuntu下使用Qt生成共享库以及在Qt中链接共享库的方法. 共享库是在Linux下的称呼,在Windows下被称为动态库.这块大家需要了解的是程序在编译时使用的库和程序在运行时使用的库需要一致,不然程序可能会闪退.而且运行时库的路径如果没有设置,那么系统就会在默认的路径下进行搜索,如果没找到程序直接就挂了.之后的文章会进行总结说明的. 程序平台: U…
背景: 这周,心情来潮,想把 Aries 开发框架 和 Taurus 开发框架 给部署到Linux上,于是开始折腾了. 经过重重非人的坑,终于完成了任务: Aries on CentOS7:mvc.aries.cyqdata.com Taurus on CentOS7:mvc.taurus.cyqdata.com 不过在发布的过程中,发现有大堆共同的dll(100多个,20多M): 看见一大堆这些dll,感觉很影响视觉,而且多个项目就要上传多份,很是麻烦. 于是研究了一下,能不能把这些和项目的文…
想跑https://github.com/ghaughian/mongo-kafka-spark/blob/master/src/pub.py这个程序,发现没有confluent_kafka库 1.pip安装 pip install confluent_kafka 居然报错: In :: confluent_kafka/src/confluent_kafka.h::: fatal error: Python.h: No such file or directory #include <Pytho…
修改已有的pro文件,添加如下几句: INCLUDEPATH += /home/ubuntu/camera/camera/LIBS += -L/home/ubuntu/camera/camera -ltestINCLUDEPATH添加了项目的目录,以便找到头文件,而LIBS添加的是共享库文件,-L添加目录,-l指定共享库名称.…
曾经: 写了一篇: ASP.Net Core on Linux (CentOS7) 共享第三方依赖库部署 当第二次想做相同的事,却遇上了Bug,于是有了第二篇: ASP.NET Core 共享第三方依赖库部署的Bug(*.deps.json on 2.2.0 or 4.6.0 版本) 然后: 就报告到Github上去了,来来回回和人家交涉了几天: 截几个图,给大伙学习一下英文: 我以强悍的中英文双版提交了问题: Steps to reproduce I try to put the Micros…
本文介绍如何打包Qt程序,使其在没有安装Qt的系统可以运行. 默认前提:另外一个系统和本系统是同一个系统版本. 1,编写导出依赖包的脚本copylib.sh #!/bin/bash LibDir=$PWD"/lib" Target=$1 lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*")) $(mkdir $LibDir) for Variable in…
patchelf 工具可以修改已编译运行程序的依赖库位置和指定库链接器 patchelf --set-rpath patchelf --set-interpreter 通过这个工具 https://github.com/probonopd/linuxdeployqt 如果自己编译不了,也可以下载现成的 https://github.com/probonopd/linuxdeployqt/releases 运行 ./linuxdeployqt-2-x86_64.AppImage ShanbayDi…
Win7 64位qt-windows-x86-msvc2015-5.6.0 DLL依赖库打包 今天开始系统的学习QT,第一个测试的问题就是在纯净的系统中如何正常运行,也就是找出QT生成的exe的依赖库问题 网上搜了下可以简单粗暴的用 D:\Qt\Qt5.6.0\5.6\msvc2015\bin\windeployqt.exe 这个自带的工具,然后在后面加个要打包的QT程序目录 如 D:\Qt\Qt5.6.0\5.6\msvc2015\bin\windeployqt.exe xxx\yyy\zzz…
其实这个问题在网上能搜到大把的解决方案.大家的统一答案都是 otool -L yourapp.app/Contents/MacOS/yourapp 根据输出信息在运行 install_name_tool install_name_tool的使用方法在这里 比较复杂的是当依赖了很多第三方库,尤其是向QT这样的库的时候.打包那叫一个麻烦啊. QT有个官方的文档告诉你如何手动一步步打包程序,还提供了一个macdepotqt这么个程序.帮你进行打包. 可是啊,macdepotqt不支持其他第三方库,也不…