交叉编译

QT 4.7.3 交叉编译环境搭建

一曲冷凌霜 提交于 2020-04-04 05:37:15
测试平台 宿主机平台:Ubuntu 12.04.4 LTS 目标机:Easy-ARM IMX283 目标机内核:Linux 2.6.35.3 交叉编译器:arm-linux-gcc 4.4.4 tslib 1.4 下载 https://gitlab.com/tslib/tslib/-/archive/1.4/tslib-1.4.tar.gz qt-4.7.3 源码下载 http://download.qt.io/archive/qt/4.7/qt-everywhere-opensource-src-4.7.3.tar.gz 1. tslib移植 详细参照上节《tslib移植arm及使用》 ./autogen.sh ./configure --prefix=/home/vmuser/workspace/vm_tools/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes CC=arm-fsl-linux-gnueabi-gcc make make install 2. QT源码编译与安装 1.编译qt 1)解压: tar xzvf qt-everywhere-opensource-src-4.7.3.tar.gzcd qt-everywhere-opensource-src-4.7.3 2)编译配置(裁剪QT) .

Golang windows下交叉编译的方法

流过昼夜 提交于 2020-04-02 20:19:33
为啥我也要写golang的交叉编译呢,好多文章都有 但是写的都不明白,搞的我绕了好多弯路 因为他们没写明 用的是cmd还是powershell,我的电脑是win10,用的vscode 默认打开的是 powershell,可是网上写的都是cmd 但是没有写明,我一直都试就是编译不出来,真是气死人 于是就有了这个 cmd: set GOARCH=amd64 set GOOS=linux go build xxx.go    powershell: $env:GOOS="linux" $env:GOARCH="amd64" go build xxx.go    真是日了 来源: https://www.cnblogs.com/wuyaxiansheng/p/12622549.html

linux 下 交叉编译 libxml2 mqttlib

时光毁灭记忆、已成空白 提交于 2020-04-01 01:36:28
libxml2: 源码:ftp: //xmlsoft.org/libxml2/libxml2-git-snapshot.tar.gz export PATH=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/:$PATH ./configure --prefix=/opt/libxml2armchangyang/ CC=arm-fsl-linux-gnueabi-gcc CXX=arm-fsl-linux-gnueabi-g++ AS=arm-fsl-linux-gnueabi-as RANLIB=arm-fsl-linux-gnueabi-ranlib --without-zlib --without-python 提示 ./libtool中arm-fsl-linux-gnueabi-gcc 不可用 改为 ./configure --prefix=/opt/libxml2armchangyang/ CC=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-gcc CXX=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl

libxml2 ARM 交叉编译

天涯浪子 提交于 2020-04-01 01:27:33
编译过程比较简单( 感谢原作者 ) 1. wget ftp://xmlsoft.org/libxml2/libxml2-2.7.2.tar.gz 2. tar xvf libxml2-2.7.2.tar.gz 3. cd libxml2-2.7.2 4. ./configure CROSS_COMPILE=arm-linux- --host=arm-linux --prefix=/opt/libxml2 5. make 6. sudo make install 此时出现一个错误: ./libtool: line 6619: arm-linux-ranlib: command not found make[2]: *** [install-libLTLIBRARIES] Error 127 make[2]: Leaving directory `/home/cody/downloads/libxml2-2.7.2' make[1]: *** [install-am] Error 2 make[1]: Leaving directory `/home/cody/downloads/libxml2-2.7.2' make: *** [install-recursive] Error 1 原因是使用sudo时,环境变量改变导致找不到交叉编译器 解决:把交叉编译器的路径放到/etc/bash

交叉编译libxml2

心已入冬 提交于 2020-04-01 01:24:58
请勿用于商业用途,转载请注明出处! xml的优势就是可以方便的管理配置项,libxml2是c语言实现的xml管理库,眼下项目须要ARM下的版本号,libxml2编译过程例如以下: 0.准备工作 下载地址:ftp://xmlsoft.org/libxml2/libxml2-git-snapshot.tar.gz <pre name="code" class="cpp">编译环境:Ubuntu 14.04 TLS 交叉编译器:arm-linux-gnueabihf-gcc 4.8.2 20130902 1. 配置编译信息 $./configure --host=arm-linux --build=i386-linux --target=arm --prefix=/usr/local/arm/libxml_arm CC=/home/lhl/buildroot-at91-buildroot-2013. 11-at91/output/host/usr/bin/arm-linux-gnueabihf-gcc --without-zlib --without-python 编译时由于提示没有python相关的头文件出错,又由于项目中不使用python相关的内容,所以没有讲python进库中,读者应该依照自己的须要要配置该选项。对于zlib相同的道理 2. 编译 $make; $make

xmake后期发展随想

ぐ巨炮叔叔 提交于 2020-03-25 08:22:55
3 月,跳不动了?>>> 随着xmake v2.0.1 版本的发布,这大半年的辛苦总算告一段落,这个版本我基本上重构整个项目的90%的代码,几乎算是重写了,但结果还算挺满意的。。 因为上个版本的架构设计的不是很好,不能很好进行扩展,也不支持插件模式,语法设计上也不严谨,容易出现各种隐患,这对于后期维护和发展来说,已经出现了不可逾越的瓶颈。。 每个项目到了一定阶段,都是要不断重构,重新构思整体架构,才能使得项目不断的向好的方向演进。。 (当然如果是公司项目就另当别论了,坑太多,历史负担较重,不是说要重构就能让你重构的。=。=) 回归正题,目前xmake基本上所有模块都是可扩展的: 插件扩展 工程模板扩展 平台架构扩展 action扩展 option选项扩展 自定义task任务机制 宏脚本扩展 模块化和可扩展性,使得xmake整体是高度解耦的,整个core的内核算法实现非常轻量,其他模块如果我们想要扩展它,只需要把自己实现的脚本放到对应目录,就可以实现自注册,自加载。。 并且每个插件模块内部都有严格的作用域控制、沙盒化处理,非常安全,不会干扰到其他插件。。 下一个大版本,我打算开始研究下,怎么去实现完善的依赖包管理,目前的一些想法和构思: 自动检测依赖包,如果存在直接链接编译,如果不存在,从远程仓库中自动下载对应版本,进行本地编译安装,然后自动集成和链接 支持多架构

交叉编译tslib

那年仲夏 提交于 2020-03-24 11:53:55
交叉编译 tslib-1.4 下载 tslib-1.4.tar.gz 放到 / home/driver/ts/ 目录下 #cd / home/driver/ts #tar zxvf tslib-1.4.tar.gz #cd tslib #export CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc // 设定 C 编译器 #export CXX=/usr/local/arm/4.3.2/bin/arm-linux-g++ // 设定 C++ 编译器 ( 如果之前有设定交叉编译器的路径放到 / etc/profile 下,那这两点可以忽略 ) #./autogen.sh ( 如果运行有错误则需要安装 autoconf 、 automake 、 libtool ( 如 yum installautoconf)) #echo"ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache // 避免检查 ac_cv_func_malloc_0_nonnull # ./configure --host=arm-linux --cache-file=arm-linux.cache-prefix=/usr/local/tslib #make #make install ( 安装在 /usr/local/tslib 里面 )

交叉编译环境搭建

时光总嘲笑我的痴心妄想 提交于 2020-03-15 07:41:18
我使用Ubuntu x64搭建的环境。 安装toolchain: 1. 下载toolchain( http://ftp.arm.linux.org.uk/pub/armlinux/toolchain/ ) 2. 解压:sudo tar jxvf */cross-3.2.tar.bz2。 3. 将解压后的文件都转移到/usr/local/下(sudo mv ./usr/local/arm /usr/local) 4. 设置环境变量: sudo vi /etc/bash.bashrc 在后面加入如下代码: /* ************************************************************** */ if [ -d /usr/local/arm ] ; then PATH=/usr/local/arm/bin:"${PATH}" fi /* ************************************************************** */ 使新的环境变量生效 # source /etc/profile (检查是否将路径加入PATH的方法: echo $PATH 如果显示的内容中有/usr/local/arm/bin,说明已经将交叉编译器的路径加入PATH 自此,交叉编译环境安装完成。) 64位系统需要lsb

嵌入式开发板利用iptables实现NAT

谁都会走 提交于 2020-03-05 19:52:36
最近为客户写应用程序来测试网卡,客户要求ping自己来检查是否通路,发现ping开发板自己IP时不管插不插自回环网线都能ping通,而我写的测试程序其实就是对ping命令进行的字符串分析,因此这样是不能检测出网卡的通路与否。后来知道ping自己ip时会路由到本地环回的虚网口,数据包根本没有到物理层从网卡发出。因此不管网卡好坏都可以ping通。组长跟我说用iptables命令来做NAT转换ip,可以实现这个功能。 根文件系统中没有iptables这个命令,因此需要交叉编译下iptables命令: 下载源码包 #apt-get source iptables 解压进入源码包,交叉编译源码的步骤基本都一样,先configure,指定安装目录以及交叉编译目标,然后make make install 注意这里指定安装目录的时候最好指定一个路径简单的目录,因为将生成的bin include以及lib放到rootfs中使用时出现一个问题就是运行iptables时找不到SNAT文件。用LD_LIBRARY_PATH指定也不行,后来用strace命令跟踪iptables命令,发现它在查找类似SNAT这些相关的库文件时是按照安装路径的目录来查找的,跟qtopia的安装目录也必须一致是一样的,所以最好安装在路径简单的目录,这样按照同样的路径放到rootfs中就可以使用了,当然

嵌入式开发板利用iptables实现NAT

左心房为你撑大大i 提交于 2020-03-05 19:41:19
最近为客户写应用程序来测试网卡,客户要求ping自己来检查是否通路,发现ping开发板自己IP时不管插不插自回环网线都能ping通,而我写的测试程序其实就是对ping命令进行的字符串分析,因此这样是不能检测出网卡的通路与否。后来知道ping自己ip时会路由到本地环回的虚网口,数据包根本没有到物理层从网卡发出。因此不管网卡好坏都可以ping通。组长跟我说用iptables命令来做NAT转换ip,可以实现这个功能。 根文件系统中没有iptables这个命令,因此需要交叉编译下iptables命令: 下载源码包 #apt-get source iptables 解压进入源码包,交叉编译源码的步骤基本都一样,先configure,指定安装目录以及交叉编译目标,然后make make install 注意这里指定安装目录的时候最好指定一个路径简单的目录,因为将生成的bin include以及lib放到rootfs中使用时出现一个问题就是运行iptables时找不到SNAT文件。用LD_LIBRARY_PATH指定也不行,后来用strace命令跟踪iptables命令,发现它在查找类似SNAT这些相关的库文件时是按照安装路径的目录来查找的,跟qtopia的安装目录也必须一致是一样的,所以最好安装在路径简单的目录,这样按照同样的路径放到rootfs中就可以使用了,当然