当前位置:首页 » 编程软件 » ubuntu交叉编译命令

ubuntu交叉编译命令

发布时间: 2022-12-06 02:41:24

A. Ubuntu下使用mingw-w64交叉编译ffmpeg

网上大部分编译windows版ffmpeg的教程都是基于msys+mingw的,完全运行在windows上。由于msys2的性能实在是太糟糕了,编译速度太感人,因此决定研究linux下使用mingw-w64交叉编译

先是安装ubuntu版的mingw-w64
sudo apt install mingw-w64

然后在configure ffmpeg的时候,在正常的配置项之后加上。
--arch=x86 --target-os=mingw32 --cross-prefix=i686-w64-mingw32-

上面是32位库编译的配置,64位的如下
--arch=x86_64 --target-os=mingw32 --cross-prefix=x86_64-w64-mingw32-

而且最好使用动态库,静态库还需要链接一大堆mingw的库实现,而且还可能链接失败。但这样编译出来的动态库,还需要依赖 libgcc_s_sjlj-1.dll。如果要移除这个依赖,configure的时候还要加上 --extra-ldflags='-static-libgcc'

B. ubuntu下怎么安装交叉编译

1. 下载软件包
从linaro的网站下载预编译二进制包,
注意选择的版本哦,我们要使用linux下的哦。选择这个:
gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.bz2
2. 解压
解压gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.xz 到 ~/arm-cross-toolchain/目录下
3. 设置环境变量
~$ vi .bashrc

在最后添加如下 2 行:
PATH=$PATH:/home/lxl/arm-cross-toolchain/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin
export PATH
请注意,第一行的$PATH后面是英文冒号,而冒号后面是你的cross-toolchain的可执行文件目录(bin目录)的绝对路径。 这两句的意思就是将cross-toolchain的可执行文件路径加入系统环境变量PATH中。
4. 使环境变量 生效
~$ source .bashrc
5. 测试
~$ arm-linux-gnueabihf-gcc -v
报错:arm-linux-gnueabihf-gcc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

原因:64位的系统,缺少 lib32stdc++6这个包
解决:~$ sudo apt-get install lib32stdc++6

C. 如何在ubuntu中进行交叉编译

第一步,你需要下载QT源代码(4.8的编译比较容易),然后通过 ./configure (参数自己定,不懂看readme)接下来就是在QT CREATE里面配置了,如下: 工具-->选项--->构建和运行 1. 编译器: 点击添加:

D. 虚拟机ubuntu14.04怎么安装交叉编译器

虚拟机ubuntu14.04怎么安装交叉编译器,解答如下

  • 开始安装(建议大家新建一个文件夹),然后将文件复制到新建的文件夹中

  • 输入命令: sudo tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz

  • 安装完成后,输入ls命令,可以看到一个opt文件夹,如下图

  • 修改环境变量,把交叉编译器的路径加入到PATH:

  • 利用tab键的补齐功能进入该路径,如下图

  • 输入pwd命令,查看当前路径的绝对路径

  • /home/cf/ARM/opt/FriendlyARM/toolschain/4.5.1/bin

E. 如何更改ubuntu中交叉编译工具链

1.下载arm-linux-gcc-3.4.1.tar.bz2到任意的目录下,我把它下载到了我的个人文件夹里 /home/wrq
2. 解压 arm-linux-gcc-3.4.1.tar.bz2

#tar -jxvf arm-linux-gcc-3.4.1.tar.bz2
解压过程需要一段时间,解压后的文件形成了 usr/local/ 文件夹,进入该文件夹,将arm文件夹拷贝到/usr/local/下
# cd usr/local/
#cp -rv arm /usr/local/
现在交叉编译程序集都在/usr/local/arm/3.4.1/bin下面了
3. 修改环境变量,把交叉编译器的路径加入到PATH。(有三种方法,强烈推荐使用方法一)
方法一:修改/etc/bash.bashrc文件
#vim /etc/bash.bashrc
在最后加上:
export PATH=$PATH:/usr/local/arm/3.4.1/bin
export PATH
方法二:修改/etc/profile文件:
# vim /etc/profile
增加路径设置,在末尾添加如下,保存/etc/profil文件:
export PATH=$PATH:/usr/local/arm/3.4.1/bin
4. 立即使新的环境变量生效,不用重启电脑:
对应方法一:#source /root/.bashrc
对应方法二:# source /etc/profile
5. 检查是否将路径加入到PATH:
# echo $PATH
显示的内容中有/usr/local/arm/bin,说明已经将交叉编译器的路径加入PATH。至此,交
叉编译环境安装完成。
6. 测试是否安装成功
# arm-linux-gcc -v
上面的命令会显示arm-linux-gcc信息和版本,显示的信息:
Reading specs from /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/specs Configured with: /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/gcc-
3.4.1/configure --target=arm-linux --host=i686-host_pc-linux-gnu
--prefix=/usr/local/arm/3.4.1 --with-headers=/usr/local/arm/3.4.1/arm
-linux/include --with-local-prefix=/usr/local/arm/3.4.1/arm-linux --disable
-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-
languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.4.1
7.编译
Hello World程序,测试交叉工具链
写下下面的Hello World程序,保存为
hello.c
#include
int main()
{
printf("Hello World!\n");
return 0;
}
执行下面的命令:
# arm-linux-gcc -o hello hello.c
源程序有错误的话会有提示,没有任何提示的话,就是通过了,就可以下载到ARM目标板上运行了!接着可以输入file hello的命令,查看生成的hello文件的类型,要注意的是生成的可执行文件只能在ARM体系下运行,不能在其于X86的PC机上运行。

F. ubuntu怎么安装arm交叉编译工具

Ubuntu下安装ARM交叉编译器过程笔记,有图有真相。

Linux下armcc和arm-linux交叉编译环境的配置

2、开始安装(建议大家新建一个文件夹),然后将文件复制到新建的文件夹中

Ubuntu下安装ARM交叉编译器图文教程

输入命令:sudotarxvzfarm-linux-gcc-4.5.1-v6-vfp-20120301.tgz

Ubuntu下安装ARM交叉编译器图文教程

安装完成后,输入ls命令,可以看到一个opt文件夹,如下图

Ubuntu下安装ARM交叉编译器图文教程

3.修改环境变量,把交叉编译器的路径加入到PATH:

利用tab键的补齐功能进入该路径,如下图

输入pwd命令,查看当前路径的绝对路径

/home/cf/ARM/opt/FriendlyARM/toolschain/4.5.1/bin

G. 小白求助,如何在ubuntu的QT creator下完成交叉编译

你需要先安装嵌入式版本的Qt
以下是我编译Qt时的命令:楼主看着自行改
./configure -prefix /opt/QtEmbedded-4.7.3 -release -shared -fast -pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -no-openssl -nomake examples -nomake demos -nomake tools -optimized-qmake -no-phonon -no-nis -no-opengl -no-cups -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-sm -no-xinerama -no-xshape -no-separate-debug-info -xplatform qws/linux-arm-g++ -embedded arm -depths 16 -no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb -confirm-license -qt-mouse-tslib

然后把生成的Qt的qmake所在的目录加入的Qt creater中,工具链就选你上面的那个arm-linux-g++

然后新建项目的时候就可以选择 Embedded什么来着

这样就搞定了!

H. 如何在ubuntu中搭建交叉编译环境toolchain

1.安装交叉编译环境 sudo apt-get install gcc g++ libcc1 libg++ make gdb
2.安装交叉编译器 f
tp:
//ftp.
arm.linux.org.uk/pub/armlinux/toolchain/ 下载 cross -3.2.tar.bz2或者懒得去找干脆
wget f
tp://ftp.
arm.linux.org.uk/pub/armlinux/toolchain/ cross -3.2.tar.bz2
解压
sudo tar jxvf /home/zhaifang/cross -3.2.tar.bz2
sudo mv /home/zhaifang/usr/local/arm /usr/local
3.交叉编译器加入路径 sudo vi /etc/bash.bashrc后面加入
if [ -d /usr/local/arm ] ; then
PATH=/usr/local/arm/bin:'${PATH}'
fi
4.使环境生效 #source /etc/profile
5.检查 echo $PATH 出现/usr/local/arm/bin说明成功了
6.测试 arm-linux-gcc -v

I. 怎么在ubuntu系统下安详交叉编译器

1.主机:ubuntu 10.10 gcc-4.4.5, kernel-2.6.35
sudo apt-get install bison flex build-essential patch libncurses5-dev
更新系统基本的编译工具集
(用UBUNTU最大的好处就是可以 在线更新一些需要的系统包,APT-GET)
2 使用的是CROSSTOOL做的,需要的软件包

第一个是工具链编译脚本
第二个是2进制工具集
第三个是GCC-3.4.5的源代码
第四个是依赖的LINUX标准函数库
第五个是依赖的thread库
第六个是LINUX代码
(1).linux 源代码其实是用了 在编译的时候需要调用一些了linux库文件和数据结构或者是头文件,类似驱动开发依赖源代码
(2).这个是可以指定的找到合适的就可以,不一定就是这个版本的
第七个是标准库的头文件了
3 UBUNTU10自带的GCC版本是4.4.5 太高编译会出现语法错误,所以安装4.1的就好
sudo apt-get install gcc-4.1
sudo rm /usr/bin/gcc (删除GCC,它只是个到gcc-4.3.2的软链接文件)
sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc (建立GCC到gcc-4.1的软链接)
(重新做个软件连接指向4.1就好,这个可以在/usr/bin 下会出现:gcc-4.1 gcc-4.4)
4 修改 dash (ubuntu 默认的是 dash ,编译指向的是bash)
ls -la /bin/sh
看到链接的是 dash ,则请运行以下命令
sudo dpkg-reconfigure dash
选择 no 以删除 dash
此处如果不改好的话,编译时会出现错
5 以上系统配置完成,下面开始修改脚本编译(一下就是网上参考的了,很多的都是这么做的,谢谢那些真正看懂脚本的大牛们)

$tar –zxvf crosstool-0.43.tar.gz
$cd crosstool-0.43
在此目录下可以看到有很多.sh脚本和.dat配置文件,每一个支持的处理器都有它所相应的脚本。http://www.linuxidc.com/假如选用demo- arm- softfloat.sh 就是建立目标为支持软浮点的arm交叉编译工具链。
3.修改demo-arm-softfloat.sh
$vim demo-arm-softfloat.sh
修改下面两句
TARBALLS_DIR=$HOME/downloads //表示下载的源码的存放目录
RESULT_TOP=/opt/crosstools //表示生成的工具链的存放目录
为:
TARBALLS_DIR=/home/linux/downloads(源码存放目录)
RESULT_TOP=/home/linux/crosstools(生成工具链目录)
4.修改 gcc-3.4.5-glibc-2.3.6.dat
$ vim gcc-3.4.5-glibc-2.3.6.dat
修改内容为:
BINUTILS_DIR=binutils-2.15
GCC_DIR=gcc-3.4.5
GLIBC_DIR=glibc-2.3.6
LINUX_DIR=linux-2.6.26.5(内核版本)
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6
5.修改glibc-2.3.6.tar.bz2包内的configure文件

case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
2.1[3-9]*) 《--------------------------------------------3920行
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
修改为
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
2.[1-2][0-9]*) 《--------------------------------------------3920行
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
还有3981行也有这样的代码 一个是ld,一个是ar
6.$ ./ demo-arm-softfloat.sh
注意啊UBUNTU权限管理很严格,在执行脚本前,最好的就是把crosstool脚本所在的目录和几个源文件的目录设置成 777
脚本运行的第一个是创建build的目录,在脚本所在的目录下,然后是解压所有的源文件,检查所有的依赖关系,进行编译
大概需要很长时间吧,我是睡觉醒来看看 好了,,,,,,呵呵
即使如此的工作,干了2个通宵搞定,当然边干我还在三国杀,,,,,,,
当然成功后,有点小激动,熬了一宿,失眠了,,,,亢奋中

J. ubuntu12.04编译交叉编译已经安装,为什么还不能编译

1、解压交叉编译开发工具包
sudo
tar
xvzf
arm-linux-gcc-4.4.3.tar.gz
-C
/
解压工具链到根目录,这里的解压目录可以任意指定。系统中会增加目录/opt/FriendlyARM/toolschain/4.4.3/
2、修改环境变量,把交叉编译器的路径加入到PATH
采用修改/etc/bash.bashrc文件的方法(还可有别的方法)
①用vim打开文件:
#sudo
vim
/etc/bash.bashrc
②在最后面新建一行加上:
export
PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
3、立即使新的环境变量生效,不用重启电脑:
#source
/etc/bash.bashrc
{
这是上面修改环境变量的另一种方法

$sudo
-i
输入自己的密码,这是进入超级用户权限

cd
/root/
vim
.bashrc

在最后加上
export
PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
(路径)(注意等号那边不要有空格)

source
~/.bashrc
(立即生效)
(好像只能本终端,注销一下就永远都有这个环境变量的)
}
4、检查是否将路径加入到PATH
#echo
$PATH
若显示的内容中有刚刚添加的交叉编译器所在目录,则证明编译环境安装成功。
5、测试是否安装成功
指令:#arm-linux-gcc
-v
上面的指令会显示arm-linux-gcc信息和版本,显示的内容信息:
此时,证明安装成功。
6、编译实验
写个HelloWorld程序,测试交叉工具连
写下下面的HelloWorld程序,保存为hello.c
#include
int
main()
{
printf(“HelloWorld!\n”);
return0;
}
执行下面的指令:
#arm-linux-gcc-o
hello
hello.c
要是不报错说明安装成功。

热点内容
存储链路中断 发布:2024-04-28 11:11:39 浏览:733
安卓锤子手机怎么改文字 发布:2024-04-28 11:09:52 浏览:99
列举贪心算法 发布:2024-04-28 10:44:15 浏览:697
文具店疫情演练脚本 发布:2024-04-28 10:23:40 浏览:24
绿色商城源码 发布:2024-04-28 10:04:45 浏览:585
点歌机服务器是什么 发布:2024-04-28 10:04:43 浏览:742
ssi框架源码 发布:2024-04-28 09:32:56 浏览:724
用手机怎么查询服务器的ip 发布:2024-04-28 09:00:43 浏览:206
macps缓存 发布:2024-04-28 08:03:26 浏览:539
腾讯云服务器销售好做吗 发布:2024-04-28 08:03:23 浏览:587