64 位Ubuntu下用32 位的Qt GCC 編譯程式
阿新 • • 發佈:2019-01-30
一、多架構支援
1.確認64位架構的核心
二、安裝32位程式需要的庫
三、安裝同時支援64位和32位的GCC
四、安裝Qt和Qt Creator
http://download.qt.io/static/mirrorlist/這是Qt下載的映象站
1.第一種安裝方式(太過繁瑣,不推薦,節省時間直接看2)
(2)將其中的./configure用chmod加執行許可權。
(3)執行./configure,如果想指定後面編譯過程的目錄則
(5)需要回車就回車,需要Y就Y,大概10幾分鐘配置完畢
(6)執行make,開始編譯,過程大概3個小時
(7)編譯完成後sudo make install,幾分鐘後安裝完畢
(8)命令列中輸入 qmake -v 看是否qmake已經新增到環境變數中,
再安裝Qt creator 。這裡用.run圖形化安裝介面。
第一種方式整個安裝過程大概需要5個小時,太麻煩,不推薦。
2.安裝64位的Qt和Qt creator再新增32位gcc構建套件(非常方便)
(1)去之前介紹的Qt映象站上下載任意新版本的Qt。
比如下載其中的qt-opensource-linux-x64-5.10.1.run
(2)下載完畢後,chmod加執行許可權,執行出現圖形化安裝介面。
(3)有可能需要輸入帳號密碼,之後一直next。
下面是不可去掉勾選的Qt creator。
(5)next進入安裝,大概不到半小時安裝完畢。
此時,64位的Qt和creator安裝完畢,開啟Qt creator的選項檢視構建套件(kit),只有Desktop Qt x.x.x GCC 64bit。
(2)點選setting。
(3)轉到Repositories選項卡。
(4)在User defined repositories中Add庫
開啟之前的映象站,進入online子目錄。
選擇qtsdkrepository子目錄。
分別進入linux x64和linux x86兩子目錄。
分別進入root目錄。
如http://mirrors.ustc.edu.cn/qtproject/online/qtsdkrepository/linux_x64/root/qt/
http://mirrors.ustc.edu.cn/qtproject/online/qtsdkrepository/linux_x86/root/qt/
(5)在此介面選擇Add or remove components,點next。
(6)幾分鐘的讀取時間。列出所有可選的Qt版本。
可以看到,5.6之後的版本,gcc全部為64位。
之後next,等待安裝完畢。
至此,構建完成。
1.確認64位架構的核心
輸入dpkg --print-architecture
顯示 amd64 確認為64位架構核心2.確認開啟多架構支援功能(出現32位依賴問題時,安裝32位的包)
輸入dpkg --print-foreign-architectures
顯示 i386確認多架構
如果沒有多架構:輸入sudo dpkg --add-architecture i386新增32構架
sudo apt-get update 更新
輸入sudo apt-get -f dist-upgrade檢查庫檔案是否要更新,需要則Y至此,為64位系統安裝了32位支援。
二、安裝32位程式需要的庫
sudo apt-get install zlib1g:i386 libstdc++6:i386 libc6:i386
如果Ubuntu版本太老,命令為sudo apt-get install ia32-libs
三、安裝同時支援64位和32位的GCC
apt-get install gcc-multilib g++-multilib
四、安裝Qt和Qt Creator
http://download.qt.io/static/mirrorlist/這是Qt下載的映象站
目前國內有3個,分別為北理工,清華和中科大,建議中科大
點選HTTP進入映象站
archive中有所有版本的Qt和更新到2.5的Qt creator
community releases中版本較少
official releases中較為全面
1.第一種安裝方式(太過繁瑣,不推薦,節省時間直接看2)
一開始,我想安裝64位的Qt和32位的creator。
這種安裝方式不能用型別為.run的可執行檔案,因為.run檔案包含Qt和不可去掉勾選的creator,且均為64位。
所以,我下載了Qt.tar.gz/xz64位版。(在qt的single子資料夾下,大約為1GB)(1)雙擊或者命令列解壓到資料夾中。(這一步後su root會方便很多)
(2)將其中的./configure用chmod加執行許可權。
(3)執行./configure,如果想指定後面編譯過程的目錄則
(4)配置過程中會讓你選擇Qt的版本Commercial或Open Source,選o./configure -prefix [target folder]
(5)需要回車就回車,需要Y就Y,大概10幾分鐘配置完畢
(6)執行make,開始編譯,過程大概3個小時
(7)編譯完成後sudo make install,幾分鐘後安裝完畢
(8)命令列中輸入 qmake -v 看是否qmake已經新增到環境變數中,
如果已經新增,則顯示qmake相關資訊。
如果沒有新增則需手動新增環境變數:
使用者環境變數為: vim /home/[your own system name]/.bashrc
在檔案後新增:
export QTDIR=/usr/local/ Qt-4.8.4 (your Qt version)export PATH=$QTDIR/bin:$PATHexport MANPATH=$QTDIR/man:$MANPATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
系統使用者環境變數: sudo gedit /etc/profile
在檔案後新增相同內容。(9)重啟後輸入qmake -v 環境變數應該新增成功。
再安裝Qt creator 。這裡用.run圖形化安裝介面。
支援linux32位系統的creator版本較老,大概在3.5之前。
32位的Qt creator在加執行許可權執行後會報錯,錯誤忘了是什麼,但很好解決,只要安裝缺少的庫就行,用sudo apt-get install xxx.so,安裝開始後並沒有彈出圖形化安裝介面,而是命令列安裝介面,一直Y,安裝完畢。
而如果安裝64位的Qt creator直接雙擊開啟,圖形化安裝即可。
這樣就在64位Ubuntu系統下安裝了64位的Qt和32位的Qt creator,
但是太過於繁瑣,中間出現的包括環境變數的配置和32位庫有關的錯誤數不勝數。而且安裝完畢執行程式時還會報與32位庫缺失相關的錯誤。
到這個網站尋找並安裝缺失的庫。
http://ftp.sjtu.edu.cn/ubuntu/pool/main/
而且安裝完畢後沒有Qt creator幫助文件,還得單獨安裝。
第一種方式整個安裝過程大概需要5個小時,太麻煩,不推薦。
2.安裝64位的Qt和Qt creator再新增32位gcc構建套件(非常方便)
(1)去之前介紹的Qt映象站上下載任意新版本的Qt。
比如下載其中的qt-opensource-linux-x64-5.10.1.run
(2)下載完畢後,chmod加執行許可權,執行出現圖形化安裝介面。
(3)有可能需要輸入帳號密碼,之後一直next。
(4)出現如圖。
選擇你要安裝的Qt版本,並且勾選Desktop gcc 64-bit和Sources,
下面是不可去掉勾選的Qt creator。
(5)next進入安裝,大概不到半小時安裝完畢。
此時,64位的Qt和creator安裝完畢,開啟Qt creator的選項檢視構建套件(kit),只有Desktop Qt x.x.x GCC 64bit。
下一步,新增32位的gcc構建套件。
(1)開啟Qt安裝目錄下的MaintenanceTool。(2)點選setting。
(3)轉到Repositories選項卡。
(4)在User defined repositories中Add庫
開啟之前的映象站,進入online子目錄。
選擇qtsdkrepository子目錄。
分別進入linux x64和linux x86兩子目錄。
分別進入root目錄。
再分別進入qt。
分別將linux x64和linux x86到此的網站複製。如http://mirrors.ustc.edu.cn/qtproject/online/qtsdkrepository/linux_x64/root/qt/
http://mirrors.ustc.edu.cn/qtproject/online/qtsdkrepository/linux_x86/root/qt/
分別Add,再Test。
(5)在此介面選擇Add or remove components,點next。
(6)幾分鐘的讀取時間。列出所有可選的Qt版本。
可以看到,5.6之後的版本,gcc全部為64位。
而5.5之間的版本中,既有64位的gcc,也有32位的。
我選擇Qt5.3版本,勾選gcc和Source Components,空間佔用大約為1G。之後next,等待安裝完畢。
(7)
開啟Qt creator的構建與執行選項卡,顯示有兩個構建套件。
轉到Qt Versions選項卡,顯示有兩個qmake版本。至此,構建完成。