当前位置:首页 » 编程软件 » linuxqt静态编译

linuxqt静态编译

发布时间: 2022-08-26 15:24:53

‘壹’ linux qt 静态编译什么意思

你说的是编译静态库吧,在pro文件如下设置即可编译静态库: TEMPLATE = libCONFIG += staticlib

‘贰’ ubuntu下静态编译QT及QT写好的程序

静态编译必须重新编译整个QT大概需要2个多小时的时间

‘叁’ qt-opensource-linux-x64-5.8.0.run可以静态编译吗

你机器中的库文件和qt需要使用的库文件的版本不匹配 重新下载个/lib/libc.so.6去 ,必须包含GLIBC_2.9

‘肆’ Qt 如何编译成可执行程序,像VC的静态编译,可以在脱离QT的环境中运行

qt 开源版本 不允许静态编译
可以将DLL打包,就能再其他的机器上运行了.

‘伍’ 请哪位来解释一下Qt静态编译和动态编译的区别

静态编译与动态编译的区别:
1、动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令。
所以其优点一方面是缩小了执行文件本身的体积,另一方面是加快了编译速度,节省了系统资源。
缺点一是哪怕是很简单的程序,只用到了链接库中的一两条命令,也需要附带一个相对庞大的链接库;二是如果其他计算机上没有安装对应的运行库,则用动态编译的可执行文件就不能运行。

‘陆’ QT4 Linux GUI应用程序如何把所需要的QT库一起打包,使其能在没有装QT4的Linux平台上运行

写在依赖包列表里,有管理程序会自动下载安装的。不过要写明版本和候选源的名字。加上官方的运行库依赖……基本上所有的linux发行版都有qt4运行库的源。
至于怎么写,您网络一下吧……rpm或者dpkg都有控制命令和测试命令,反正安装的时候测试没有启动下载或者一起打包的库安装就好了。
用程序管理器是最容易的,会自动检查依赖并下载。比如yum和apt这种。
反正我写qt的时候在linux下从来不担心这问题,基本也没有问题
倒是windows需要自己打包带着走……毕竟windows下用qt的程序很少,装qt运行库的更少了

‘柒’ 使用Qt静态库为什么运行出错

因为你链接的是qt的动态库,在没有qt动态库的系统上肯定是运行不了的。有两种方法,一种是静态编译,但会让运行文件变大。第二种就是把动态库和程序一起打包出去,路径设置

把 main.cpp 改成下面这样,再重新编译项目就可以了:
#include <QApplication>
#include <QQmlApplicationEngine>
//1. add headers
#include <QtPlugin>
#include <QtQml>
//2. add Q_IMPORT_PLUGIN
#if defined(QT_STATIC) && !defined(Q_OS_MAC) && !defined(QT_NAMESPACE)
#include <QQmlExtensionPlugin>
Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
Q_IMPORT_PLUGIN(QtQuick2Plugin)
Q_IMPORT_PLUGIN(QtQuickControlsPlugin)
Q_IMPORT_PLUGIN(QtQuickLayoutsPlugin)
Q_IMPORT_PLUGIN(QtQuick2WindowPlugin)
#endif
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QQmlApplicationEngine engine;
//3. registerTypes
#if defined(QT_STATIC) && !defined(Q_OS_MAC) && !defined(QT_NAMESPACE)
qobject_cast<QQmlExtensionPlugin*>(qt_static_plugin_QtQuick2Plugin().instance())->registerTypes("QtQuick");
qobject_cast<QQmlExtensionPlugin*>(qt_static_plugin_QtQuickControlsPlugin().instance())->registerTypes("QtQuick.Controls");
qobject_cast<QQmlExtensionPlugin*>(qt_static_plugin_QtQuickControlsPlugin().instance())->registerTypes("QtQuick.Controls.Private");
qobject_cast<QQmlExtensionPlugin*>(qt_static_plugin_QtQuickControlsPlugin().instance())->registerTypes("QtQuick.Controls.Styles");
qobject_cast<QQmlExtensionPlugin*>(qt_static_plugin_QtQuickLayoutsPlugin().instance()) ->registerTypes("QtQuick.Layouts");
qobject_cast<QQmlExtensionPlugin*>(qt_static_plugin_QtQuick2WindowPlugin().instance()) ->registerTypes("QtQuick.Window.2");
qobject_cast<QQmlExtensionPlugin*>(qt_static_plugin_QtQuick2Plugin().instance()) ->initializeEngine( &engine, "QtQuick");
qobject_cast<QQmlExtensionPlugin*>(qt_static_plugin_QtQuickControlsPlugin().instance())->initializeEngine( &engine, "QtQuick.Controls");
qobject_cast<QQmlExtensionPlugin*>(qt_static_plugin_QtQuickLayoutsPlugin().instance()) ->initializeEngine( &engine, "QtQuick.Layouts");
qobject_cast<QQmlExtensionPlugin*>(qt_static_plugin_QtQuickLayoutsPlugin().instance()) ->initializeEngine( &engine, "QtQuick.Layouts");
qobject_cast<QQmlExtensionPlugin*>(qt_static_plugin_QtQuick2WindowPlugin().instance()) ->initializeEngine( &engine, "QtQuick.Window.2");
#endif
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
}

‘捌’ QT交叉编译时怎么添加静态库,急!!!

INCPATH = -I../EmbedSky/qt-4.5/__install/arm/mkspecs/default -I. -I../EmbedSky/qt-4.5/__install/arm/include/QtCore -I../EmbedSky/qt-4.5/__install/arm/include/QtNetwork -I../EmbedSky/qt-4.5/__install/arm/include/QtGui -I../EmbedSky/qt-4.5/__install/arm/include -I. -I. -I.
在这里增加你编译的静态库。。。可以试试,我也是新手

‘玖’ QT中怎么静态编译,静态编译的步骤是什么。

Qt采用编译的方式安装的时候,配置中默认的编译方式是动态编译的,但是有时候你编写的程序要发布出去,带很多动态库文件是很繁琐的,此时就需要静态编译你的程序,Qt要实现静态编译必须库文件也是静态编译的,所以在此介绍一下qt如何来进行静态编译第一步:下载源码包Qt/X11版本:qt-x11-opensource-src-4.5.2.tar.gz第二步:解压缩tarzxvfqt-x11-opensource-src-4.5.2.tar.gz第三步:进入到刚才解压缩后的文件夹下并进行配置,如下./configure-release-platformwin32-msvc2008-static-nomakeexamples-nomakedemos-no-qt3support-no-scrip
...
by
fengyetang
2010-07-04
回复
(0)

热点内容
不能连接到数据库 发布:2025-02-07 03:47:00 浏览:45
安卓手机如何设置翻屏动画 发布:2025-02-07 03:46:18 浏览:594
利基型存储器什么意思 发布:2025-02-07 03:43:58 浏览:555
安卓读写权限在哪里 发布:2025-02-07 03:29:21 浏览:36
钉邮怎么找回密码 发布:2025-02-07 03:16:40 浏览:81
比特币钱包源码 发布:2025-02-07 03:16:39 浏览:101
饥荒如何转移服务器 发布:2025-02-07 03:14:42 浏览:4
怎么才能知道电视是不是安卓系统 发布:2025-02-07 03:04:23 浏览:817
银行更改密码红色预警是什么意思 发布:2025-02-07 02:54:22 浏览:552
androiddomain 发布:2025-02-07 02:46:04 浏览:844