當前位置:首頁 » 編程軟體 » 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 06:18:05 瀏覽:164
ubuntu搭建samba伺服器 發布:2025-02-07 05:52:54 瀏覽:54
小型企業網如何配置可以互通 發布:2025-02-07 05:33:56 瀏覽:243
09年crv哪個配置好 發布:2025-02-07 05:17:31 瀏覽:555
nvm源碼編譯 發布:2025-02-07 05:13:19 瀏覽:126
防偽碼查詢源碼 發布:2025-02-07 05:09:39 瀏覽:769
安卓機的通知在哪裡 發布:2025-02-07 05:09:01 瀏覽:282
密碼74是什麼意思 發布:2025-02-07 05:02:10 瀏覽:47
蘋果es瀏覽器無法連接ftp 發布:2025-02-07 04:59:57 瀏覽:285
javaa和a 發布:2025-02-07 04:58:24 瀏覽:64