『壹』 qt4.8安裝完靜態編譯後怎麼使用
如果你說的是Qt程序的話,靜態編譯就得自行從源碼開始編譯Qt靜態庫,官網預編譯的版本是不包含靜態庫的。首物猛這個很復雜,請參考qt-everywhere-opensource 中提供的編譯幫助。注意如果使用miongw的話,gcc版本最好不要是4.6.2。這個版本比較特殊,但是它是mingw官方版的最新打包版本。
如果你說的是非qt庫依賴的話,有兩種mingw和vs,前者有部分發行版默認去除了dll依賴,直接連接的靜態庫,後者非常不推薦使用靜態庫,畢竟它載入的是系統常用dll,基本上所螞陵有系統者橋都是推薦安裝的運行時環境,用靜態庫吃力不討好。
『貳』 QT 靜態編譯
qt 開源版本 不允許靜態編譯
可以將DLL打包,就能再其他的機器上運行了.
請採納。
『叄』 關於Qt的工具的版本,各個概念,請大俠詳細解釋一下
你是要讓qt能使用,兩種套路都可行:
1、安裝傻瓜包QtSDK,大概1GB多,
你要用到的所有東西都在這裡面,按照默認的安裝,
裝好後直接打開qt creator就可以用。
2、自己組裝:
(1)下載Qt Creator (qt-creator-win-opensource-2.4.1.exe),就是你下載的50多MB的那個,按照默認的裝上;
(2)下載Qt Framework (qt-win-opensource-4.8.0-mingw.exe),兩三百兆的,
按照默認的裝上。
打開qt creator,菜單「工具」--》「選項」,
在打開的對話框里選左邊的「構建和運行」,
右邊選「Qt版本」,
點擊添加,找到你之前安裝的Qt Framework 的文件夾里的bin子文件夾,
找到qmake.exe,然後點擊確定,這樣就設置好了,
就能解決你遇到的「找不到合適的QT版本」的問題。
下面說這些工具的關系:
要正常使用qt,至少要這些東西:
(1)代碼編寫和調試的界面,就是qt creator
(2)代碼編譯工具合集,如MinGW(包括gcc和g++、gdb等)
(3)Qt庫本身,包括頭文件、庫文件和qt designer設計師、qt assitant幫助、qt linguist翻譯器三個工具。
qt官方是這樣打包的:
上面(1)(2)部分打包一起的,如qt-creator-win-opensource-2.4.1.exe,
把這裡面的都裝上,就有了代碼編輯和編譯的兩部分工具。
上面(3)部分打包在Qt Framework 裡面,如qt-win-opensource-4.8.0-mingw.exe
。
你之所以無法編譯qt代碼,就因為沒裝這Qt Framework 。
而qt SDK是1GB多的大包,包括上面提到的(1)(2)(3)全部的東西,
裝上Qt SDK就什麼都有了。
『肆』 ubuntu 環境下怎樣編譯pixhawk px4源碼
Ubuntu環境下Pixhawk原生固件PX4的編譯
分類:無人機ubuntu代碼編譯Pixhawk
(3946) (6)
Ubuntu下Pixhawk原生固件PX4的編譯這個問題困擾了兩天時間,可能是博主腦力不夠,主要是環境搭建不起來,主要原因應該是路徑的原因,最後在大師傅的幫助下還好成功將路徑搭建好,成功編譯。
下面就跟大家分享一下環境搭建的過程。
1.操作環境
每次寫文章,環境一定要介紹的,不同的環境總會出現不同的問題
我的環境是Windows下面安裝虛擬機,虛擬機跑Ubuntu
Windows:win10 64位
虛擬機:VMware Workstation 12 Pro 12.1.0 build-3272444
Ubuntu:Ubuntu15.10
2.編譯環境搭建
(1)許可權設置
官方提示:
Warning Never ever fix permission problems by using 'sudo'. It will create more permission problems in the process and require a system reinstallation to fix them.
意思是你會遇到許可權問題,不要用sudo解決,那樣會帶來更多問題,但是我沒聽他的,我沒用,最後也是實現了
官方提供指令
[plain] view plain
然後注銷,重新登錄生效
(2)安裝
更新包列表,安裝下面編譯PX4的依賴包。PX4主要支持的系列:
NuttX based hardware: Pixhawk, Pixfalcon
Snapdragon Flight hardware: Snapdragon
Raspberry Pi hardware: Raspberry Pi 2
Host simulation: jMAVSim SITL and Gazebo SITL
注意:安裝Ninja Build System可以比make更快進行編譯。如果安裝了它就會自動選擇使用它進行編譯。
[plain] view plain
卸載模式管理器
[plain] view plain
更新包列表和安裝下面的依賴包。務必安裝指定的版本的包
[plain] view plain
上面代碼中紅色部分大家需要一高警惕,gcc-arm-none-eabi版本導致PX4/Firmware編譯錯誤,現在apt-get安裝的gcc-arm-none-eabi基本上是4.9的版本,但是這個固件需要gcc-arm-none-eabi 4.8de 版本,所以最後安裝好以後,查看你的gcc-arm-none-eabi版本,如果是4.9需要手動安裝4.8的版本,安裝gcc-arm-none-eabi 4.8的版本的方法如下:
[plain] view plain
【Warning】上面紅色的路徑一定要添加正確,不然問題很多,我第一次就輸入錯誤,結果結果開不了機了,反復輸入密碼。博主裝的是Ubuntu 64位系統,而上述arm-none-eabi是直接下載的編譯好的32位,還需要安裝一個東西
[plain] view plain
可以檢查arm-none-eabi 4.8.4是否安裝成功,輸入以下指令:
[plain] view plain
如果出現如上信息,交叉編譯環境搭建就搭建成功了
(3)代碼編譯
根據PX4中文維基官網教程。
安裝Git
[plain] view plain
下載代碼
[plain] view plain
初始化
先進入Firmware文件夾,進而進行初始化、更新子模塊操作,耐心的等待……
[plain] view plain
許可權
編譯時會遇到許可權問題,執行指令
[plain] view plain
-R 是對文件下麵包含的子文件許可權問題,* 是對所有文件的許可權問題
編譯
[plain] view plain
注意到「make」是一個字元命令編譯工具,「px4fmu-v2」是硬體版本,「default」是默認配置,所有的PX4編譯目標遵循這個規則。
最後附一張編譯成功的代碼,如果這樣你還有問題,請給我留言。
[plain] view plain
-- nuttx-px4fmu-v2-default
-- The ASM compiler identification is GNU
-- Found assembler: /opt/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-gcc
-- Found pythonInterp: /usr/bin/python (found version "2.7.10")
-- Using C++03
-- Release build type: RelWithDebInfo
-- Adding UAVCAN STM32 platform driver
-- Configuring done
-- Generating done
-- Build files have been written to: /home/lihongwei/Documents/Firmware/build_px4fmu-v2_default
#+@Tools/check_submoles.sh
PX4 CONFIG: px4fmu-v2_default
Scanning dependencies of target git_mavlink
Scanning dependencies of target git_uavcan
Scanning dependencies of target git_gencpp
Scanning dependencies of target git_genmsg
[ 0%] Generating git_init_mavlink_include_mavlink_v1.0.stamp
[ 0%] Generating git_init_src_moles_uavcan_libuavcan.stamp
[ 0%] Generating git_init_Tools_genmsg.stamp
[ 0%] Generating git_init_Tools_gencpp.stamp
[ 0%] Built target git_uavcan
[ 0%] Built target git_mavlink
[ 0%] Built target git_genmsg
[ 0%] Built target git_gencpp
『伍』 qt編譯程序正在創建庫怎麼解決
在Qt編譯程序時,如果編譯過程卡在「正在創建庫」階段停止不動,可能有以下幾種原因:
編譯器版本不兼容。請確保您使用的編譯器版本與Qt版本兼容。您可以查看Qt的官方文檔來確定兼容的編譯器版本。
編譯器設置不正確。請確保您在Qt的項目設置中正確設置了編譯器和鏈接器路徑。您可以在Qt Creator中選擇「項目」>「構建和運激遲行」>「構建設置」來查看和修改編譯器設置。
缺少依賴項。在編譯過程中,如果缺少必要的依賴項,可能會導致編譯過程卡在「正在創建庫」階段。請確保您的系統中安裝了所有必態森要的依賴項,並且這些依賴項的版本與您的Qt版本兼容。
項目文件有誤。請確保您的Qt項目文件(.pro文件)正確設置了所有必要的庫和依賴項。您可以在Qt Creator中打開項目文件,查看和修改項目設置。
編譯過程被卡住了。有時候編譯過程會因為各種原因卡住,導致編譯過程無法繼續。您可明閉李以嘗試在終端中使用「Ctrl+C」來中止編譯過程,並重新啟動編譯。
如果您仍然無法解決問題,請嘗試在Qt Creator中查看編譯輸出,查找可能的錯誤信息。或者,您可以嘗試使用其他編譯器或重新安裝Qt,並重新編譯您的程序。
『陸』 linux 下用arm體系QT編譯問題(目前我系統里有X86 和 arm體系(老師編好的)的QT各一個)
貌似是缺少系統庫,有些版本的linux編譯qt是會出現缺少系統庫而導致編譯不成功的問題,不是很推薦用最新的編譯器來編譯,其實2.4的內核和3.4.5的編譯器做qt就已經足夠了,你可以去查查看那些版本的linux下可以成功的編譯qt,安裝的時候盡可能把開發用的庫都選上,不然就只有自己再去打補丁,
僅作參考
『柒』 OSX系統用QT編譯cmakelist文件時出錯 在這無限循環
Qt在編譯時,需要首先使用uic.exe編譯UI文件,通過moc.exe處理Q_OBJECT之類的宏,當然你可以去掉這些定義,否則就需要加上:#COMPILEUIsSET(UISmnwindow)FOREACH(ui_file${UIS})SET(TMP_IN"${PROJECT_SOURCE_DIR}/res/${ui_file}.ui")SET(TMP_OUT"${PROJECT_BINARY_DIR}/ui_${ui_file}.h")EXECUTE_PROCESS(COMMAND${QT_FOLDER}/bin/uic.exe-o${TMP_OUT}${TMP_IN})MESSAGE(STATUS"EXEC=${QT_FOLDER}/bin/uic.exe-o${PROJECT_BINARY_DIR}/ui_${ui_file}.h${PROJECT_SOURCE_DIR}/res/${ui_file}.ui")ENDFOREACH(ui_file)#CREATEMOCSET(HEADERSmainwindow)FOREACH(header_file${HEADERS})SET(TMP_IN"${PROJECT_SOURCE_DIR}/inc/${header_file}.h")SET(TMP_OUT"${PROJECT_BINARY_DIR}/moc_${header_file}.cpp")EXECUTE_PROCESS(COMMAND${QT_FOLDER}/bin/moc.exe-o${TMP_OUT}${TMP_IN})SET(MOCS${MOCS}${PROJECT_BINARY_DIR}/moc_${header_file}.cpp)MESSAGE(STATUS"EXEC=${QT_FOLDER}/bin/moc.exe-o${PROJECT_BINARY_DIR}/moc_${header_file}.cpp${PROJECT_SOURCE_DIR}/inc/${header_file}.h")ENDFOREACH(header_file)freec#.netqrcreator這里要注意的是:EXECUTE_PROCESS在COMMAND後面不能加引號,命令直接寫,否則執行的程序也不會出錯,但也不會正常運行.
『捌』 Qt更換版本後的編譯問題
在設置里重新指定 debuger 路徑
『玖』 QT編譯的問題
qt的make要寫好make的配置文件,可以自動生成配置文件的,建議你還是在windows下面用ide,生成那個文件,然後到linux下面編譯,而且需要經常的make clean一下,否則也會出錯
『拾』 qt改了一個文件全部重新編譯
1 需要重新編譯
2 因為Qt的腔升編譯過程是將源代碼編譯為目標代碼,如果修改了一個文件,需要重新編譯整伍派老個項目,否則會出現編譯錯誤。
3 可以使用Qt的增量編譯功能,只編譯修改過的文件和依賴它的文件,從而縮短編譯時羨陪間。
但是如果修改的文件涉及到了項目結構或者配置文件等,還是需要重新編譯整個項目。