导航:首页 > 源码编译 > 静态交叉编译linux

静态交叉编译linux

发布时间:2023-03-14 22:06:54

❶ arm-linux-gcc交叉编译是静态编译还是动态的

你得看这个编译器的configure是啥

如果没有特殊参数,默认都是动态编译

没有依赖的动态库当然不能运行

❷ 如何以静态链接方式交叉编译linux上的软件n

在编译命令行中,将使用的静态库文件放在源文件后面就可以了。比如:
gcc -L/usr/lib myprop.c libtest.a libX11.a libpthread.a -o myprop
其中-L/usr/lib指定库文件的查找路径,编译器默认在当前目录下先查找指定的库文件。

❸ 如何建立Linux下的ARM交叉编译环境

  1. 首先安装交叉编译器,网络“arm-linux-gcc下载”就可以下载一个编译器压缩包。

  2. 把压缩包放到linux系统中,解压,这样就算安装好了交叉编译器。

  3. 设置编译器环境变量,具体方式网络。如打开 /etc/bash.bashrc,添加刚才安装的编译器路径 export PATH=/home/。。。/4.4.3/bin:$PATH。这样是为了方便使用,用arm-linux-gcc即可,不然既要带全路径/home/....../bin/arm-linux-gcc,这样不方便使用。

  4. 编译c文件。和gcc编译相似,把gcc用arm-linu-gcc代替就是了。编译出来的就可以放到arm上运行了。

❹ Linux系统中如何安装交叉编译器

交叉编译器通常以 arm-none-linux-gnueabi.tar.bz2 这样的名称发布(不同厂家的不同开发平台,交叉编译工具链的实际名称可能有所差别,请以实际为准),解压命令:
vmuser@Linux-host: ~$ tar xjvf arm-none-linux-gnueabi.tar.bz2
如果希望解压到一个指定的目录,可以先将 arm-none-linux-gnueabi.tar.bz2 压缩包复制到目标目录,然后进入目标目录再运行解压命令,也可以在任意目录解压,通过-C 指定目标目录。假定希望解压到“/home/ctools/”目录,则命令如下:
vmuser@Linux-host: ~$ tar xjvf arm-none-linux-gnueabi.tar.bz2 -C /home/ctools/

在终端中添加环境变量,需要每次打开终端都设置,也很麻烦。可以考虑将设置的过程添加到系统配置文件中。/etc/profile 是系统全局的配置文件,在该文件中设置交叉编译器的路径,能够让登录本机的全部用户都可以使用这个编译器。
打开终端,输入“sudo vi /etc/profile”命令,打开/etc/profile 文件,在文件末尾添加:
export PATH=$PATH:/home/ctools/arm-2011.03/bin/
然后输入“. /etc/profile”(点+空格+文件名),执行 profile 文件,使刚才的改动生效。如果没有书写错误,此时打开终端,输入 arm-none-linux-gnueabi-,然后按键盘 TAB 键,同样可以看到很多 arm-none-linux-gnueabi-开头的命令。
这些周立功那边很多的,不知道你有没去看过。

❺ 如何使Linux在交叉编译工具安装配置并立即生效

#tar xvzf arm-linux-gcc-4.3.2.tar.gz -C /
(需要注意的是,在大写字母后面有一个空格)
第二、利用vi编辑器打开/etc/profile文件,并在下面的位置中添加一句话:pathmunge /opt/FriendlyARM//opt/FriendlyARM/toolschain/4.4.3/bin
(注意:该处的/opt/FriendlyARM//opt/FriendlyARM/toolschain/4.4.3/bin根据各人的交叉编译工具解压后所存放的位置而不同)
#vim /etc/profile
# Path manipulation
if [ $EUID = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
pathmunge /opt/FriendlyARM//opt/FriendlyARM/toolschain/4.4.3/binfi第三、执行下列的命令即可是刚才的配置生效
#source /etc/profile
最后你就可以检测自己的交叉编译环境是否安装成功。可以输入下面的命令来检查:

❻ 如何在32位linux下进行交叉编译

1. 下载源文件、补丁和建立编译的目录 2. 建立内核头文件 3. 建立二进制工具(binutils) 4. 建立初始编译器(bootstrap gcc) 5. 建立c库(glibc) 6. 建立全套编译器(full gcc)

❼ linux嵌入式中的静态交叉编译是什么意思

应该说是分为静态和动态的

静态就是把需要的库文件也直接编译进去

动态则是在需要的时候才去调用,本身不编译进去

❽ 如何在linux虚拟机里安装交叉编译

安装Arm-Linux交叉编译器正确的方法:
首先我用的是天嵌自带的交叉编译器EABI-4.3.3_EmbedSky_20100610.tar.bz2,
1. 首先建一个存放交叉编译器的目录,我建的目录的绝对路径是:/opt/TQ (TQ就是我建的目录)
2. 解压EABI-4.3.3_EmbedSky_20100610.tar.bz2:
tar xjvf EABI-4.3.3_EmbedSky_20100610.tar.bz2

该文件解压后,就会在TQ这个目录中生成两个目录:opt,usr;
3. 添加环境变量 :
在/etc/profile中添加
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
pathmunge /opt/TQ/opt/EmbedSky/4.3.3/bin/
fi
添加完后 source /etc/profile 使他生效;
4. 在控制台执行以下命令:
cp /opt/TQ/opt/EmbedSky/4.3.3/bin /usr/local/arm

总结:第3步和第4步这两步少了一步就会出现以下错误:
arm-none-linux-gnueabi-gcc: error trying to exec 'cc1': execvp: No such file or directory

经验:若在解压时 用下面的命令:
tar xjvf EABI-4.3.3_EmbedSky_20100610.tar.bz2 -C/

就可以省去第四步
-C / :的意识是解压到指定目录,这里指根目录,由于该压缩包内部的目录结构本身包含usr/local/arm,所以解压到根目录实际上就是把文件解压到/usr/local/arm文件夹下。

阅读全文

与静态交叉编译linux相关的资料

热点内容
db2如何连接服务器数据库 浏览:626
wordtopdf转换 浏览:840
云服务器在哪设置ftp 浏览:620
黑客社会工程学攻击pdf 浏览:996
专业中颖单片机程序开发 浏览:424
python多进程多线程实例 浏览:637
山东济南生产服务器云主机 浏览:310
算法员跳槽四年 浏览:730
秦九昭算法v0怎么求 浏览:384
斗鱼java 浏览:896
程序员对老师的感谢 浏览:29
什么app能查看银行卡照片 浏览:24
win7pdf虚拟打印 浏览:332
程序员喜欢的女生条件 浏览:123
阿里云服务器ip搭建教程 浏览:85
解压和拉伸这一动画的原理是什么 浏览:740
tbc战士的命令怒吼 浏览:481
idea快捷键看源码 浏览:976
手机碎屏解压工具 浏览:245
jsonrpcphp使用 浏览:566