2021-05-12 14:32:11
Ubuntu 14.04 搭建嵌入式Qt開發環境
1.Ubuntu 14.04搭建交叉編譯環境 arm-linux-g++
1.解壓交叉編譯包
tar -zxvf gcc-4.4.3-20100728.tar.gz
2.設定環境變數
vi /opt/arm-linux-g++.sh
在 arm-Linux-g++.sh 中編輯內容
設定arm-linux-g++ 環境變數
export PATH=$PATH:/opt/arm-linux-g++-4.4.3/bin
新增可執行許可權:
chmod +x arm-linux-g++.sh
3.測試:
使環境變數生效(僅限於當前終端)
source /opt/arm-linux-gcc.sh
測試:
arm-linux-gcc -v
結果如下則證明設定成功
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /opt/FriendlyARM/mini2440/build-toolschain/working/src/gcc-4.4.3/configure –build=i386-build_RedHat-linux-gnu –host=i386-build_redhat-linux-gnu –target=arm-none-linux-gnueabi –prefix=/opt/FriendlyARM/toolschain/4.4.3 –with-sysroot=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root –enable-languages=c,c++ –disable-multilib –with-arch=armv4t –with-cpu=arm920t –with-tune=arm920t –with-float=soft –with-pkgversion=ctng-1.6.1 –disable-sjlj-exceptions –enable-__cxa_atexit –with-gmp=/opt/FriendlyARM/toolschain/4.4.3 –with-mpfr=/opt/FriendlyARM/toolschain/4.4.3 –with-ppl=/opt/FriendlyARM/toolschain/4.4.3 –with-cloog=/opt/FriendlyARM/toolschain/4.4.3 –with-mpc=/opt/FriendlyARM/toolschain/4.4.3 –with-local-prefix=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root –disable-nls –enable-threads=posix –enable-symvers=gnu –enable-c99 –enable-long-long –enable-target-optspace
Thread model: posix
gcc version 4.4.3 (ctng-1.6.1)
2.搭建pc版開發環境
說明:pc 版開發環境用於編譯生成可於pc下執行的Qt應用軟體
所有操作可進入root 使用者進行操作
1.下載qt
下載qt整合式開發環境 qt-sdk-linux-x86-opensource-2010.05.1.bin
2.安裝
1.進入qt-sdk-linux-x86-opensource-2010.05.1.bin所在檔案目錄,新增可執行許可權
#chmod +x qt-sdk-linux-x86-opensource-2010.05.1.bin
2.安裝qt-sdk-linux-x86-opensource-2010.05.1.bin
# ./ qt-sdk-linux-x86-opensource-2010.05.1.bin
4.設定環境變數
設定環境變數有兩種方法:
方法一:在/etc/profile 檔案中增加 QT 的環境變數。
方法如下:
#gedit /etc/profile
在開啟的檔案最後加上以下內容:
# pc版qt環境變數(#為註釋)
QTDIR=/opt/qtsdk-2010.05
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
方法二: 在/opt 下建立setenv_pc.sh
方法如下:
# cd /opt
#vi setenv_pc.sh
在開啟的檔案最後加上以下內容:
# pc版qt環境變數
QTDIR=/opt/qtsdk-2010.05
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
新增可執行許可權:
# chmod +x setenv_pc.sh
#ls -al setenv_pc.sh
-rwxr-xr-x 1 root root 128 6月 3 22:53 setenv_pc.sh
其中-rwx-xr-x 代表已新增 可執行 許可權
3.測試
說明:建立 hello world 工程,測試 QT。
1.檢測當前電腦是否安裝有 g++ 編譯器
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/5/lto-wrapper
Target: i686-linux-gnu
Configured with: ../src/configure -v –with-pkgversion=’Ubuntu 5.2.1-22ubuntu2’ –with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs –enable-languages=c,ada,c++,Java,Go,d,fortran,objc,obj-c++ –prefix=/usr –program-suffix=-5 –enable-shared –enable-linker-build-id –libexecdir=/usr/lib –without-included-gettext –enable-threads=posix –libdir=/usr/lib –enable-nls –with-sysroot=/ –enable-clocale=gnu –enable-libstdcxx-debug –enable-libstdcxx-time=yes –with-default-libstdcxx-abi=new –enable-gnu-unique-object –disable-vtable-verify –enable-libmpx –enable-plugin –with-system-zlib –disable-browser-plugin –enable-java-awt=gtk –enable-gtk-cairo –with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-i386/jre –enable-java-home –with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-i386 –with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-i386 –with-arch-directory=i386 –with-ecj-jar=/usr/share/java/eclipse-ecj.jar –enable-objc-gc –enable-targets=all –enable-multiarch –disable-werror –with-arch-32=i686 –with-multilib-list=m32,m64,mx32 –enable-multilib –with-tune=generic –enable-checking=release –build=i686-linux-gnu –host=i686-linux-gnu –target=i686-linux-gnu
Thread model: posix
gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2)
說明已安裝g++編譯器
若沒安裝則需要手動安裝
#apt-get install g++
2.建立一個hello工程並測試
1.建立工程目錄(位置可隨選我是在使用者目錄下的qtcode/hello)
#cd /home/chen/ //根據使用者相應改變
#mkdir hello
#ls
drwxrwxr-x 2 chen chen 4096 6月 3 23:43 helle
#cd hello
#vi hello.cpp //vi 不熟可用文字編輯器編輯
編輯內容:
#include<QApplication>
#include<QLabel>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QLabel *label=new QLabel("hello qt");
label->resize(200,100);
label->show();
return app.exec();
}
//儲存並退出 shift ; wq
2.編譯hello.cpp
檢視qmke 版本號
#qmake -v
報錯:
qmake: could not exec ‘/usr/lib/i386-linux-gnu/qt4/bin/qmake’: No such file or directory
處理方法:
#cd /usr/bin
#ls -la qmake
可以看到qmake 為一個連結 指向qtchooser
lrwxrwxrwx 1 root root 9 5月 24 20:19 qmake -> qtchooser
#apt-get install g++
rwxrwxrwx 1 root root 9 5月 24 20:19 qmake1 -> qtchooser
#mv qmake qmake1 //備份為qmake1
建立連結qmake 連結到 /opt/qtsdk-2010.05/qt/bin/qmake qmake
# ln -s /opt/qtsdk-2010.05/qt/bin/qmake qmake
# la -al qmake
可以看到已建立
lrwxrwxrwx 1 root root 31 6月 4 00:45 qmake -> /opt/qtsdk-2010.05/qt/bin/qmake
3.編譯並執行
# qmake -project //生成*.pro
#qmake hello.pro
#make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/opt/qtsdk-2010.05/qt/mkspecs/linux-g++ -I. -I/opt/qtsdk-2010.05/qt/include/QtCore -I/opt/qtsdk-2010.05/qt/include/QtGui -I/opt/qtsdk-2010.05/qt/include -I. -I. -o hello.o hello.cpp
g++ -Wl,-O1 -Wl,-rpath,/opt/qtsdk-2010.05/qt/lib -o hello hello.o -L/opt/qtsdk-2010.05/qt/lib -lQtGui -L/opt/qtsdk-2010.05/qt/lib -L/usr/X11R6/lib -lQtCore -lpthread
#ls
編譯完後檔案列表
hello hello.cpp hello.o hello.pro Makefile
執行:
#./hello
在Ubuntu Linux上安裝搜狗輸入法及對Qt Creator的支援 http://www.linuxidc.com/Linux/2015-01/111651.htm
Linux下為剛安裝好的Qt Creator 建立桌面啟動圖示 http://www.linuxidc.com/Linux/2012-08/67214.htm
Ubuntu 11.04安裝QT Creator 2.5.0 http://www.linuxidc.com/Linux/2012-06/62607.htm
Qt creator for PlayBook安裝過程 http://www.linuxidc.com/Linux/2012-05/60652.htm
Ubuntu 15.04下QT Creator支援中文輸入 http://www.linuxidc.com/Linux/2016-03/129198.htm
Ubuntu 16.04 LTS安裝Qt Creator http://www.linuxidc.com/Linux/2017-03/141553.htm
相關文章