你好,游客 登录 注册 搜索
背景:
阅读新闻

Ubuntu 14.04 搭建嵌入式Qt开发环境

[日期:2017-03-08] 来源:Linux社区  作者:天问chen [字体: ]

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

Ubuntu 14.04 搭建嵌入式Qt开发环境
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 14.04 搭建嵌入式Qt开发环境

在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

Qt Creator 的详细介绍请点这里 
Qt Creator 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-03/141557.htm

linux
相关资讯       Qt开发环境搭建  Qt开发环境 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款