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
Qt Creator 的详细介绍:请点这里
Qt Creator 的下载地址:请点这里