Ubuntu14.04配置gcc4.4.4+Qt4.8.4交叉编译环境
Ubuntu14.04配置gcc4.4.4+Qt4.8.4交叉编译环境, Ubuntu16.04也类似,
安装32位程序运行支持
sudo apt-get install lib32stdc++6 lib32z1 lib32ncurses5 lib32bz2-1.0
可能报错:
lib32stdc++6 : 依赖: lib32gcc1 (>= 1:4.1.1) 但是它将不会被安装 E: 无法修正错误
- 解决方案:
sudo aptitude -f install lib32stdc++6
若没有aptitude需先安装该软件
在提示中第一处选n, 第二处选y, 如下:
edu@edu:/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin$ sudo aptitude -f install lib32stdc++6
下列“新”软件包将被安装。
lib32gcc1{ab} lib32stdc++6
0 个软件包被升级,新安装 2 个, 0 个将被删除, 同时 385 个将不升级。
需要获取 310 kB 的存档。 解包后将要使用 1,338 kB。
下列软件包存在未满足的依赖关系:
lib32gcc1 : 依赖: gcc-4.9-base (= 4.9-20140406-0ubuntu1) 但是 4.9.3-0ubuntu4 已安装。
下列动作将解决这些依赖关系: 保持 下列软件包于其当前版本:
1) lib32gcc1 [未安装的]
2) lib32stdc++6 [未安装的] 是否接受该解决方案?[Y/n/q/?] n 下列动作将解决这些依赖关系: 降级 下列软件包:
1) gcc-4.9-base [4.9.3-0ubuntu4 (now) -> 4.9-20140406-0ubuntu1 (trusty)]
2) libgcc1 [1:4.9.3-0ubuntu4 (now) -> 1:4.9-20140406-0ubuntu1 (trusty)] 是否接受该解决方案?[Y/n/q/?] y
下列软件包将被“降级”:
gcc-4.9-base libgcc1
下列“新”软件包将被安装。
lib32gcc1{a} lib32stdc++6
0 个软件包被升级,新安装 2 个, 2 个被降级, 0 个将被删除, 同时 385 个将不升级。
需要获取 363 kB 的存档。 解包后将要使用 1,328 kB。
您要继续吗?[Y/n/?] y
- 解决方案:
安装arm编译gcc
- 安装
cd /opt/
sudo tar -zxvf gcc-4.4.4-glibc-2.11.1-multilib-1.0.tar.gz
- 测试是否安装成功
- 在目录/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin#下,测试是否安装成功,成功后效果如图。执行命令: ./arm-none-linux-gnueabi-gcc -v
edu@edu:/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin$ ./arm-none-linux-gnueabi-gcc -v
Using built-in specs.
Target: arm-fsl-linux-gnueabi
Configured with: /work/arm-toolchains/tmp/src/gcc-4.4.4/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-fsl-linux-gnueabi --prefix=/work/ arm_fsl_gcc_4.4.4_multilib --with-sysroot=/work/arm_fsl_gcc_4.4.4_multilib/arm-fsl-linux-gnueabi/multi-libs --enable-languages=c,c++ --with-pkgversion=4.4.4_09.06.2010 --enable-__cxa_atexit --disable-libmudflap --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-gmp=/work/arm-toolchains/tmp/arm-fsl-linux-gnueabi/ build/static --with-mpfr=/work/arm-toolchains/tmp/arm-fsl-linux-gnueabi/build/static --with-ppl=/work/arm-toolchains/tmp/arm-fsl-linux-gnueabi/build/static --with-cloog=/work/ arm-toolchains/tmp/arm-fsl-linux-gnueabi/build/static --enable-threads=posix --enable-target-optspace --with-local-prefix=/work/arm_fsl_gcc_4.4.4_multilib/arm-fsl-linux-gnueabi/ multi-libs --disable-nls --enable-symvers=gnu --enable-c99 --enable-long-long --enable-multilib --with-system-zlib --enable-lto
Thread model: posix
gcc version 4.4.4 (4.4.4_09.06.2010)
- 在目录/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin#下,测试是否安装成功,成功后效果如图。执行命令: ./arm-none-linux-gnueabi-gcc -v
- 到这里交叉编译gcc已配置完, 后面根据需要进行环境变量的设置, 一般采用如下语句:
export PATH=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin:$PATH
编译安装qt4.8.4
生成makefile
./configure -prefix /usr/local/Qt-4.8.4 -embedded arm -xplatform /qws/ linux-arm-g++ -depths 16,24,32 -little-endian -no-mmx -no-3dnow -no-sse -no-sse2 -no-glib -no-cups -no-largefile -no-accessibility -no-openssl -no-gtkstyle -qt-freetype -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-linuxinput -plugin-mouse-pc -fast -qt-gfx-transformed -opensource -confirm-license
make
- make过程较长, 这里启用的6核编译, 大约用了半个小时编译完成.
make -j6
- 可能错误
- 提示类似如下信息
make[1]: arm-linux-g++:命令未找到
make[1]: *** [.obj/release-shared-emb-arm/compress.o] 错误 2
- 将./configure 参数-xplatform /qws/linux-arm-g++修改为-xplatform /qws/linux-arm-gnueabi-g++即可
- 提升如下信息
libz.so.1: cannot open shared object file: No such file or directory
安装lib32z1或lib32stdc++6后尝试
sudo apt-get install lib32z1
- 提示类似如下信息
- make过程较长, 这里启用的6核编译, 大约用了半个小时编译完成.
make install
sudo make install
根据环境需要设置环境变量
export ARMQTDIR=/usr/local/Qt-4.8.4
export PATH=$ARMQTDIR/bin:$PATH
export MANPATH=$ARMQTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$ARMQTDIR/lib:$LD_LIBRARY_PATH
检查Qt安装
qmake -v
提示如下信息, 表示安装成功
QMake version 2.01a
Using Qt version 4.8.4 in /usr/local/Qt-4.8.4/lib
Ubuntu14.04配置gcc4.4.4+Qt4.8.4交叉编译环境的更多相关文章
- Caffe+CUDA7.5+CuDNNv3+OpenCV3.0+Ubuntu14.04 配置参考文献 以及 常见编译问题总结
Caffe+CUDA7.5+CuDNNv3+OpenCV3.0+Ubuntu14.04 配置参考文献 ---- Wang Xiao Warning: Please make sure the cud ...
- Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结
Caffe + CUDA8.0 + CuDNNv5.1 + OpenCV3.1 + Ubuntu14.04 配置参考文献 ---- Wang Xiao Anhui University CVPR ...
- ubuntu14.04 配置网络
ubuntu14.04 配置网络的练习 本文参考的资料: https://blog.csdn.net/liu782726344/article/details/52912797. 感谢作者的分享! 打 ...
- Ubuntu14.04配置Mono+Jexus
总所周知,ASP.NET是微软公司的一项技术,是一个网站服务端开发的一种技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们,就是所谓动态网站开发,它依赖运行于 IIS 之中的程序 .但 ...
- ubuntu14.04 配置中文输入法
ubuntu14.04自带中文输入法,只要配置就可以了. 1.安装中文支持 System Settings --> Language Support 点击 install/remove lan ...
- ubuntu14.04配置中文latex完美环境(texlive+texmaker+lyx)
Ubuntu下的文档编辑虽然有libreoffice,但对中文和公式的排版始终不如ms office,因此要想写出高质量的文档,只能靠latex了,现在随着xeCjk的开发,中文文档在ubuntu下的 ...
- 64位ubuntu14.04配置adb后提示没有那个文件或目录
1.配置完adb环境变量后在终端输入adb: ameyume@ameyume-HP-450-Notebook-PC:~$ adb /home/ameyume/adt-bundle-linux-x86_ ...
- ubuntu14.04 配置tomcat8
ubuntu下配置tomcat的过程事实上和windows是差点儿相同的,以下一起来看一下怎样在ubuntu14.04中配置tomcat. 1.下载tomcat 地址:http://tomcat.ap ...
- Ubuntu14.04配置VIM与GVIM 高亮、跳转与变量函数列表
一.环境:刚安装好的Ubuntu14.04,本文只能保证 在Ubuntu下能达到效果. 二.安装GVim. sudo apt-get update sudo apt-get install vim-g ...
随机推荐
- 用eclipse 搭建struts2环境
一,下载struts2对应的jar包,(http://struts.apache.org/download.cgi#struts2514.1),我一般下载struts2.3版本的 二,打开eclips ...
- Python 排错UnicodeEncodeError 'ascii' codec can't encode character 错误解决方法
Python UnicodeEncodeError 'ascii' codec can't encode character 错误解决方法 by:授客 QQ:1033553122 错误描述: py ...
- VMware 创建VMware9虚拟机及设置详细教程
创建VMware9虚拟机及设置详细教程 by:授客 QQ:1033553122 1.点击Create a New Virtual Machine图标按钮,或者file->new virtual ...
- 快速了解Vuex
提要:提起react就会想起其应用最广泛的redux状态管理工具,vue中的官方推荐的状态管理工具就是Vuex. 看到同事在鼓捣Vuex的东西,前面项目完成后也没有好好总结一下Vuex的知识,所有就再 ...
- 精华阅读第 13 期 |常见的八种导致 APP 内存泄漏的问题
本期是移动开发精英俱乐部的第13期文章,都是以技术为主,所以这里就不过多的进行赘述了,我们直接看干货内容吧!本文系ITOM管理平台OneAPM整理. 实际项目中的MVVM(积木)模式–序章 导读:开篇 ...
- jQuery的介绍和选择器详解
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. jQuery 的介绍 引入 jQuery 的原因 在用 js 写代码时, ...
- Ubuntu 18.04 修改为静态IP
1.进入/etc/netplan目录 cd /etc/netplan 2.查看文件 ls 3.编辑 01-network-manager-all.yaml vim 01-network-manager ...
- Oracle EBS 自治事务
自治事务程序主要是自主性,那就是,独立于主要的事务.之所以独立,或者提交之后会影响其他事务处理,本质在于它本身符合编译指令的规则,也就是说它属于在编译阶段就执行的指令,而不是在运行阶段执行的. 当自治 ...
- Coursera-AndrewNg(吴恩达)机器学习笔记——第四周编程作业(多分类与神经网络)
多分类问题——识别手写体数字0-9 一.逻辑回归解决多分类问题 1.图片像素为20*20,X的属性数目为400,输出层神经元个数为10,分别代表1-10(把0映射为10). 通过以下代码先形式化展示数 ...
- 用LinkedList
>用LinkedList模拟栈集合MyStack >MyStack测试类 用LinkedList模拟栈集合MyStack import java.util.LinkedList; ...