當前位置:首頁 » 編程軟體 » qt編譯arm靜態庫

qt編譯arm靜態庫

發布時間: 2023-07-15 07:44:39

linux 下用arm體系QT編譯問題(目前我系統里有X86 和 arm體系(老師編好的)的QT各一個)

貌似是缺少系統庫,有些版本的linux編譯qt是會出現缺少系統庫而導致編譯不成功的問題,不是很推薦用最新的編譯器來編譯,其實2.4的內核和3.4.5的編譯器做qt就已經足夠了,你可以去查查看那些版本的linux下可以成功的編譯qt,安裝的時候盡可能把開發用的庫都選上,不然就只有自己再去打補丁,
僅作參考

Ⅱ Qt Creator 怎樣設置才能實現靜態編譯

qt默認的編譯方式是動態編譯的,但是有時候編寫的程序要發布出去,帶很多動態庫文件是很繁瑣的,此時就需要靜態編譯程序,qt要實現靜態編譯必須庫文件也是靜態編譯的,可以用這個命令編譯靜態庫:
1.將c:\qt\2010.05\qt\mkspecs\win32-g++\qmake.conf文件中的qmake_lflags
=
-enable-stdcall-fixup
-wl,-enable-auto-import
-wl,-enable-runtime-pseudo-reloc
改為
qmake_lflags
=
-static
-enable-stdcall-fixup
-wl,-enable-auto-import
-wl,-enable-runtime-pseudo-reloc
2.在開始菜單里找到qt
command
prompt並運行,輸入命令:
configure
-static
-debug-and-release
-no-exceptions
-l
"c:\qt\2010.05\qt\include"
-l
"c:\qt\2010.05\qt\lib"
-l指定一下路徑,防止用到vc的頭文

Ⅲ qt 5添加 windows 靜態庫

qt中添加windows vs 生成的靜態庫,需要注意:

qt使用的編譯器版本要和vs版本,操作系統位數要對應。

例如:用  vs2015 x86生成的了release 和debug兩種靜態庫

相應的QT也要配置vs2015 32 編譯器。

把之前vs 生成的靜態庫的頭文件和庫准備好

打開qt 中打卡 工程  .pro文件 右鍵選擇 添加庫選擇外部庫

這樣我們release和debug版的靜態庫都添加近工程了。

如果之前已經生成過編譯後的文件夾

再次生成時可能遇到 error LNK2019: 無法解析的外部符號 之類的錯誤信息。

這個問題只要把上面的文件夾刪除,從新編譯即可。

Ⅳ 如何編譯arm上運行的qt2可執行文件

編譯好的QT的程序,一般會有幾個.CPP\.h文件,這么多的文件我們要怎麼樣編譯。首先,我們需要安裝QT版本的庫,一定要注意,這個庫文件一定和開發板上的是同一個庫。我們假設這個庫名字叫qtembed450-arm。以下步驟一定要注意:

1.安裝目錄一定要在「/usr/local/」下;

2.安裝成功後,這步非常關鍵,一定要設置環境變數,而且,我們要設置三個環境變數,這樣做有三個目的:①可以在任何路徑下用庫里的命令②編譯時候可以指定編譯規則為arm-linux-g++③編譯時候可以指定到所需要的庫文件。那麼安裝後,輸入一下命令:gedit /root/.bashrc.這個命令執行後就進入到設置環境變數的地方,我們要加入以下三個環境變數的設置:
export PATH=$PATH:/usr/local/qtembed450-arm/bin
export LD_LIBRARY_PATH=$LD_LTBRARY_PATH:/usr/local/qtembed450-arm/lib
export QMAKESPEC=/usr/local/qtembed450-arm/mkspecs/default

以上設置非常的重要,非常的關鍵。呵呵,先照著設置,具體原因我會細談。注意,我編譯用的很重要的qmake-arm 命令,就在/usr/local/qtembed450-arm/bin下,可以打開看看哦!環境變數設置好後,用which qmake-arm 命令來確認下是否成功,呵呵。

3.准備工作做到這里,算是進行一半了,哎,真累啊!還要接著寫呢。接下來我們要把我們的編譯好的QT程序的文件夾打開,把裡面的 .CPP/.h文件拷貝出來,新建立一個文件夾;

4.把以上的文件里的.cpp .h文件復制後新建立一個文件夾。

5.新文件夾建立後,在linux終端中進入到該文件夾所在目錄下,執行這個命令:qmake-arm -project命令,千萬注意,-project 和arm之間一定要有空格啊!該命令執行後,會生成一個.pro文件,緊接著呢,執行qmake-arm命令,該命令執行後呢,會生成一個Makefile文件,這步很關鍵哦,沒有這步就不會有Makefile文件,一般在這步會出現很多錯誤,就是庫沒有發現之類,這個時候,一定要檢查前面的步驟,仔細檢查看是否是錯誤。我們這個時候打開Makefile文件看一下,會發現,裡面的編譯已經變成arm-linux-g++。這個時候,就踏實,接下來怎麼辦?還用問嗎,直接make下就好了,哈哈,簡單吧!看到上面的qtmyjpg文件了嗎?這個是可以在開發板上運行的哦!接下來不用我說了吧,直接發送到開發板上執行,可以看到圖片嘍!

6.下到開發板上之後呢,通常會發現沒有許可權,執行chmod +x qtmyjpg 就可以了,但是注意,要執行這個qtmyjpg文件,一定要這樣輸入命令:./qtmyjpg -qws為什麼需要加這個參數呢?很簡單,你不加執行時會出現錯誤原因,自己看下吧,哈哈!

7.一般這個時候觸摸屏需要矯正。進入「/usr/tslib/bin/」,查看裡面的文件,有一個「ts-calibrate」文件,執行這個文件,./ts-calibrate 後,可以看到LCD屏幕上出現十字點,用觸摸筆點一下就可以,至此,整個QT在LCD上顯示整理完畢,花了我半下午時間加上對曹老師的請教,終於完成,嘿嘿!趕緊試試哦!

Ⅳ qt arm 版本編譯問題

這個警告
> This however does *not* affect NDK-generated code because, very fortunately,
> none of the stable ABIs exposed by the NDK depend on this mangling (this has
> been checked carefully), so whichever toolchain you use, your code will run
> on all Android systems

趕腳不會對代碼有什麼影響啊..
CFLAGS += -Wno-psabi

關掉它就ok

Ⅵ 如何用qt-4.8.5源代碼配置arm版本qt

下面是編譯選項,自己可以修修改改

./configure -opensource -embedded arm
-xplatform qws/linux-arm-gnueabi-g++ -no-webkit -qt-libtiff -qt-libmng
-qt-libjpeg -qt-libpng -no-qt3support -nomake demos -nomake docs -nomake
examples -little-endian -host-little-endian -no-xcursor
-no-mouse-linuxtp -qt-mouse-tslib -I/usr/local/tslib/include
-L/usr/local/tslib/lib -fast -lrt -confirm-license

PS:
解壓包的
mkspecs/linux-arm-gnueabi-g++ 目錄下需要配置一下你的 linux-arm-gnueabi-g++
路徑,最好是設置成絕對路徑,否則可能你配置的交叉編譯器沒有添加到環境變數裡面不好~ (如果配置了環境變數的話,那就沒必要設置了)

我的給你參考一下,就是原配了~
#
# qmake configuration for building with arm-linux-gnueabi-g++
#

MAKEFILE_GENERATOR = UNIX
TARGET_PLATFORM = unix
TEMPLATE = app
CONFIG += qt warn_on release incremental link_prl gdb_dwarf_index
QT += core gui
QMAKE_INCREMENTAL_STYLE = sublib

include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)

# modifications to g++.conf
QMAKE_CC = arm-linux-gnueabi-gcc
QMAKE_CXX = arm-linux-gnueabi-g++
QMAKE_LINK = arm-linux-gnueabi-g++
QMAKE_LINK_SHLIB = arm-linux-gnueabi-g++

# modifications to linux.conf
QMAKE_AR = arm-linux-gnueabi-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabi-obj
QMAKE_STRIP = arm-linux-gnueabi-strip

load(qt_config)

接下來是QT CREATE配置

工具-->選項--->構建和運行

1. 編譯器: 點擊添加: "名稱"隨意
"編譯器路徑" **/arm-none-linux-gnueabi-g++
找到你的編譯器,我這里是用ARM的
其他不填也行.

2.Qt Versions: 點擊添加:找到通過源碼編譯好的qmake文件. 例如:/usr/local/Qt-4.8.6/bin/qmake

3.構建套件: 點擊添加: "名稱"隨意, 重點是 "編譯器"跟"QT版本", 分別選擇剛剛添加的兩項.
調試器:如果是桌面環境那就選桌面的, 如果是在嵌入式中的,那不要也可以..

Ⅶ 如何編譯ARM版本LINUX QT4.5

編譯安裝內核 下載並解壓內核 解壓內核:tar xf linux-2.6.XX.tar.xz 定製內核:make menuconfig 參見makefile menuconfig過程講解 編譯內核和模塊:make 生成內核模塊和vmlinuz,initrd.img,Symtem.map文件 安裝內核和模塊:sudo make moles_install install 復制模塊文件到/lib/moles目錄下、復制config,vmlinuz,initrd.img,Symtem.map文件到/boot目錄、更新grub 其他命令: make mrprobe:命令的作用是在每次配置並重新編譯內核前需要先執行「make mrproper」命令清理源代碼樹,包括過去曾經配置的內核配置文件「.config」都將被清除。即進行新的編譯工作時將原來老的配置文件給刪除到,以免影響新的內核編譯。 make dep:生成內核功能間的依賴關系,為編譯內核做好准備。 幾個重要的Linux內核文件介紹 config 使用make menuconfig 生成的內核配置文件,決定將內核的各個功能系統編譯進內核還是編譯為模塊還是不編譯。 vmlinuz 和 vmlinux vmlinuz是可引導的、壓縮的內核,「vm」代表「Virtual Memory」。Linux 支持虛擬內存,不像老的操作系統比如DOS有640KB內存的限制,Linux能夠使用硬碟空間作為虛擬內存,因此得名「vm」。

Ⅷ 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.
在這里增加你編譯的靜態庫。。。可以試試,我也是新手

熱點內容
pythonmysqlmac安裝 發布:2025-02-07 01:56:36 瀏覽:401
oppoa57忘記密碼怎麼刷機 發布:2025-02-07 01:51:17 瀏覽:73
2016空間加密怎麼進 發布:2025-02-07 01:41:30 瀏覽:382
網路數據伺服器是什麼 發布:2025-02-07 01:23:42 瀏覽:473
多伺服器ip白名單 發布:2025-02-07 01:23:41 瀏覽:372
優酷上傳視頻的格式 發布:2025-02-07 01:18:51 瀏覽:880
租虛擬伺服器有什麼用 發布:2025-02-07 01:17:55 瀏覽:4
視頻腳本策劃 發布:2025-02-07 01:15:37 瀏覽:566
外文免費資料庫 發布:2025-02-07 01:12:26 瀏覽:194
第一滴血ftp 發布:2025-02-07 01:12:24 瀏覽:424