導航:首頁 > 源碼編譯 > ui無法編譯

ui無法編譯

發布時間:2023-05-15 00:16:59

A. ubuntu下qt如何編譯.ui文件

登錄/注冊
Linux/Ubuntu下 靜態編譯Qt程序
轉載205 閱讀

mb5ff5917b5bbc5
2017-07-28 07:07:00
關注
一般情況下,我們用Qt編譯出來的程序是要依賴於系統Qt庫的,也就是這個程序移到別的沒有安裝Qt庫的系統上是不能使用的。會提示缺少……庫文件之類的錯誤。這就是動態編譯的結果。
但是如果我們想編譯一個程序,這個程序在發給別人後,他們可以直接打開,而不需要特別地去先安裝Qt庫,那就需要採用靜態編譯了。

在Linux下如何靜態編譯Qt程序呢?

首先需要先安裝靜態編譯的Qt,也就是靜態編譯Qt程序首先是需要一個靜態編譯安裝的Qt

1、下載源安裝程序,如 qt-x11-opensource-src-4.5.1.tar.gz

2、解壓到某一目錄

3、cd 進入解壓後的目錄,命令

./configure -static -release -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg -nomake demos -nomake examples -qt-sql-sqlite -prefix /usr/local/Trolltech/Qt-4.5.1_static 
 ./configure -static -release -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg -nomake demos -nomake examples -qt-sql-sqlite -prefix /usr/local/Trolltech/Qt-4.5.1_static

參數-static 指的是要採用靜態編譯Qt的方法

參數-release指的是只編譯release版本的庫

參數-qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg 是更好確定Qt編譯出的程序能在目前不知的系統下運行。

參數-nomake demos -nomake examples 指的是不編譯demos和examples

參數-qt-sql-sqlite 如果沒有這個參數,configure的時候,可能會提示sqlite 有問題而中止。

參數 -prefix /usr/local/Trolltech/Qt-4.5.1_static 指明靜態編譯的Qt安裝的目錄,命名Qt-4.5.1_static是為了區別動態編譯安裝的Qt,因為如果沒有這個參數,安裝時會覆蓋之前動態編譯安裝的Qt(如果有的話)。

4、沒問題後

make

5、make沒問題後再 

sudo make install

6、增加(或改變)環境變數:

在你home目錄下你的的名字的目錄中,在.profile文件中追加(或改變)如下環境變數:(為Qt設置一些特定的環境變數,這個很重要!.profile文件是隱藏的,可在你的名字目錄下,按Ctrl+H顯示所有文件查看到)

QTDIR=/usr/local/Trolltech/Qt-4.5.1_static/    
PATH=$QTDIR/bin:$PATH    
MANPATH=$QTDIR/doc/man:$MANPATH    
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH    
export QTDIR PATH MANPATH LD_LIBRARY_PATH   
QTDIR=/usr/local/Trolltech/Qt-4.5.1_static/ 
PATH=$QTDIR/bin:$PATH 
MANPATH=$QTDIR/doc/man:$MANPATH 
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH 
export QTDIR PATH MANPATH LD_LIBRARY_PATH   

7、重啟

8、在終端測試一下qmake

成功的話,下來用qmake編譯出的Qt程序就是採用靜態編譯的。這時你會發現,靜態編譯出來的程序大小變大了相當多。

靜態編譯與動態編譯的區別

動態編譯的可執行文件需要附帶一個的動態鏈接庫,在執行時,需要調用其對應動態鏈接庫中的命令。所以其優點一方面是縮小了執行文件本身的體積,另一方面是加快了編譯速度,節省了系統資源。缺點一是哪怕是很簡單的程序,只用到了鏈接庫中的一兩條命令,也需要附帶一個相對龐大的鏈接庫;二是如果其他計算機上沒有安裝對應的運行庫,則用動態編譯的可執行文件就不能運行。、

靜態編譯就是編譯器在編譯可執行文件的時候,將可執行文件需要調用的對應動態鏈接庫(.so)中的部分提取出來,鏈接到可執行文件中去,使可執行文件在運行的時候不依賴於動態鏈接庫。所以其優缺點與動態編譯的可執行文件正好互補。

B. apk改之理 反編譯安卓系統ui 編譯失敗 怎麼辦

反編譯SystemUI.apk需要載入Framework-res.apk框架才配肢敬能反編譯

求培慎飢粗採納

C. 求助,安卓5.1反編譯systemui.apk失敗

第一:要在你的PC上建立Java的環境,才能執行編譯工作。具體方法我這個就不說了,你網路或者Google下就知道了,很簡單的。

第二:下載必要的工具。Apktool工具。
下載後解壓(有三個文件aapt.exe,apktool.bat,apktool.jar),為了方便。將解壓出來的文件放在CDM模式(win+R)默認的目錄下。

比如,我的是Windows732位我的CDM模式默認目錄是C:\USER\用戶名。

第三:如果你是要編譯系統文件的話,請將你要修改的rom里的framework-res.apk(暫時叫做依賴包)用CMD模式「安裝」下。
這樣編譯才不會出錯。我一開始就是在這里糾結了很久。呵呵

安裝方法:把依賴包放在剛才放apktool的目錄下。(你也可以用指定目錄的方法安裝)

cmd模式執行apktoolifframework-res.apk這個是安裝framework-res.apk

第四:准備工作都做好了,現在就可以反編譯和編譯了。
將你要反編譯的apk放在apktool的目錄下。(你也可以用指定目錄)

cmd模式執行apktooldXXXX.apk這個是Decode也就是反編譯

比如反編譯SystemUI就執行apktooldSystemUI.apk就可以了(會在當前的目錄下生成SystemUI的文件夾,修改就是在這個文件夾里進行)

SystemUI.apk等特殊APK文件的反編譯和編譯技巧
cmd模式執行apktoolbXXXX這個是build也就是編譯回去
比如編譯SystemUI就執行apktoolbSystemUI就可以了(會在rosie的文件夾中生成一個叫dist的文件夾,編譯回去的apk就是此文件夾中)

注意:第三步很重要,很多人不成功就是因為沒做第三步。

D. 求助systemui編譯時哪裡出錯

首先第一個,就是com這個文件夾,一般教程都有說明怎麼才是成功的, 第二個,是你反編輯以後得到的SystemUI文件夾, 第三個,回編輯之後會有一個smeil文件夾,在SystemUI裡面,而且smeil文件夾裡面有個廳猜SystemUI.apk文件。
~如果你認可我的回答,請及時點擊【採納春旦為滿意回答】按鈕
~~手機提問的朋友在客戶端右上角評價點【滿意】即可。
~你的采扒伏擾納是我前進的動力
~~O(∩_∩)O,記得好評和採納,互相幫助,謝謝。

E. 學習QT,VS2010編譯UI文件出錯,提示「uic不是內部或外部命令,也不是可運行的程序」怎麼解決

解決方案:

下載nasm.exe和ndisasm.exe作為載入匯編代碼用的。

1.、假如你的VS6.0安裝在C:
把上面的nasm.exe和ndisasm.exe軟體拷貝到:C:/Program Files/Microsoft VisualStudio/VC98/Bin中;

2、如果你安裝的是VS2008且安裝在C盤:

把上面的nasm.exe和ndisasm.exe軟體拷貝到:C:\Program Files\Microsoft VisualStudio 9.0\VC\bi中;

F. 為開發板arino/genuino UNO 編譯時出錯 是什麼鬼

編譯時出錯是常態, 需要一些基本的調試能力。

編譯時注意選對應的板,比如 mega2560 或 UNO
程序里調用的庫需要事先准備好
根據程序的時間匹配對應的IDE版本,減少因為版本更新導致的不兼容
windows最好用win7 32位, 其他的win10 64位有時也有些小插曲
注意看錯誤提示,升戚搜一搜基本也有吵攔陵衡租思路
多模塊的出錯就一個一個測試單模塊是否工作正常,再慢慢增加功能。

G. v大2.6的systemui怎麼回編譯不了呢

把framework里頭的framework-res.apk moto-res.apk blur-res.apk 復凳野制到apk目錄棚改下...在cmd依次輸入命令apktool if framework-res.apk apktool if moto-res.apk apktool if blur-res.apk按照這個棗和喊不知行不行

H. 安卓反編譯SystemUI.apk 改運營商 後 回編譯出錯了。。 之前可以回編,不知怎麼突然不行了,沒懂。。

把res目錄下的zh_TW文件夾刪除試試

I. 為開發板 Arino/Genuino Uno 編譯時出錯。 怎麼解決

為開發板Arino/Genuino Uno編譯時出錯,是編譯的過程出現錯誤造成的,解決方法如下:

1、首先在電腦中打開ArinoIDE , 選擇程序 File—examples—ArinoISP。

J. MiuiSystemUI.apk反編譯並且修改後無法回編譯,提示出錯。即使反編譯後什麼都不修改直接

、反編譯=回編譯後分別是smali目錄回編譯為classes.dex文件res目錄回編譯為resources.arsc文件2、回編譯順序在回編譯時,會先檢查「源」即resources當你漢化文件,修改出錯了(缺少一個符號也不行),那麼回編譯會自動跳過編譯res文件夾,直接回編譯smali。所以,如果沒有對smali(classes.dex)漢化,那麼建議大家刪掉這個文件夾,這要會大大加快回編譯速度。1、反編譯=回編譯後分別是smali目錄回編譯為classes.dex文件res目錄回編譯為resources.arsc文件2、回編譯順序在回編譯時,會先檢查「源」即resources當你漢化文件,修改出錯了(缺少一個符號也不行),那麼回編譯會自動跳過編譯res文件夾,直接回編譯smali。所以,如果沒有對smali(classes.dex)漢化,那麼建議大家刪掉這個文件夾,這要會大大加快回編譯速度。3、出錯問題1在漢化時,往往會不小心刪掉一些符號,如""符號等等。FileManager文件管理器/string>這些小小的錯誤都會導致回編時譯檢查出錯。所以漢化時,注意對校,然後再回編譯。建議使用一些高級的文本編輯器,支持語法高亮視圖的。4、出錯問題2最近發現有些APK文件反編譯後,就算不漢化直接回編譯,都會出錯。有可能的原因1,反編譯後XML文件語法中@符號前面多了"\"(\@),用文本編輯工具直接替換【\@】為【@】,應該可以解決。建議使用最新版本的反編譯工具。5、建議大家使用新版本的APKTool工具,當然如果新的有問題也可以試試舊的一、系統文件漢化再次強調1、漢化Settings.apk(系統設置)、MMS.apk(信息)、Phone.apk(電話)、等等系統文件,一定要先安裝構架,具體看另個文件。2、系統文件漢化完後不需要簽名,直接替換漢化後的文件,就可以了。主要是,系統文件放在系統目錄,無需再次讀取簽名獲得許可權,已經是高級了。二、打包說明1、通常漢化完回編譯後,會自動生成所有APK內的文件,或者自動生成*.APK文件。但是建議大家不要直接使用該文件,進了使用替換法,替換掉你漢化後的文件,如:resources.arsc,如果修改過的圖片,等等…2、很多人對於APK文件解壓縮或壓縮都用「WinRAR」或「好壓」,這里不推薦。希望大家安裝7-Zip這個壓縮工具,對於zip格式的支持是最好的。而且很方便,不需要重新關聯apk直接右鍵打開就行了。替換直接拖拉進去,就OK了一、回編譯出錯問題(1.提示strings.xml最後一行錯誤,檢查是否符號錯誤;在漢化時,往往會不小心刪掉一些符號,如""符號等等。FileManager文件管理器/string>(2.提示strings.xml最頂部含中文代碼首行錯誤,編碼格式不對,轉換成UTF-8;(3.提示public.xml出錯,檢查改動過的arrays.xml是否代碼有錯誤的地方;二、一切能正常但無法回編譯還有一種情況,apktool最新版本能正常反編譯一個apk文件,在未做任何修改的情況下,無法回編譯。這是就要注意了,可以嘗試一下用低版本的apktool進行【反編譯】,然後在用高版本的apktoo工具【回編譯】。這里向大家推薦用【APKDB】這個工具,很方便,反編譯時可以選擇apktool的版本。

閱讀全文

與ui無法編譯相關的資料

熱點內容
java辦公自動化 瀏覽:340
php中超鏈接 瀏覽:253
linux默認路由設置 瀏覽:36
linux如何掛載iso 瀏覽:432
vs程序換文件夾後不能編譯 瀏覽:557
安卓源碼編譯輸入腳本沒反應 瀏覽:47
phpmysql自增 瀏覽:167
把ppt保存為pdf 瀏覽:533
汽車密封件加密配件 瀏覽:887
黑馬程序員15天基礎班 瀏覽:560
java調整格式 瀏覽:521
香港雲伺服器租用價 瀏覽:78
linuxsublime3 瀏覽:560
imac混合硬碟命令 瀏覽:277
沈陽用什麼app租房車 瀏覽:857
00後高中生都用什麼app 瀏覽:238
戴爾塔式伺服器怎麼打開獨立顯卡 瀏覽:807
醫療程序員招聘 瀏覽:597
住宿app可砍價是什麼意思 瀏覽:133
java跳出語句 瀏覽:55