首页 > 编程知识 正文

(linux 交叉编译器作用,Linux下交叉编译器学习)

时间:2023-05-04 13:21:22 阅读:122697 作者:1548

最近遇到Linux下的设备需要使用,需要使用交叉编译器,所以要记录遇到这里的问题,有经验。

交叉编译器

梗概

交叉编译器听起来像玄秘术,但实际上是类似于gcc的编译器。 而且,通常其使用的指令也与gcc一致,语法一致。 也就是说,可以用gcc编译的文件也可以用交叉编译器编译。 这是用于编译在特定设备上运行的程序的编译器,而不是PC。

安装

你得到的交叉编译器通常是压缩包。 如果没有扩展名,则可以在后面加上(.tar/.tar.gz )打开压缩包。 那个编译的程序通常请询问arm-xxx-linux-gcc。 在目录下的常规音频文件下,解压缩后可以直接在该目录下编译,而在linux下

增加系统参数

方法1

我在第一次测试的时候用了一种简易的、不持久的方法。 只在这个终端上有效。 1导出路径=/usr/local/web server/MySQL /常规音频:$PATH //将当前目录添加到路径1echo $PATH //打印路径

显示以下画面时,表示当前路径已添加到路径中。

/usr/local/webserver/mysql/常规音频:/usr/local/web server/MySQL /常规音频/:/usr/kerberos/s常规音频s普通音频:/普通音频3:/usr/s普通音频3360/usr/普通音频:/root/普通音频

方法1 vim/etc /简档

最后,添加:1导出路径='/usr/local/web server/MySQL /常规声音:$PATH '

保存、退出和运行: 1源/etc /配置文件

不报告错误就成功。

Gcc多文件编译1 gccgetop.ccalcdemo.c-o output.out

静态库生成(.a文件)

编译c文件爱你,生成所需的文件

使用gcc/arm-xxx-linux文件编译c文件,得到. o文件1 gcc-c文件1.c文件2.c

现在得到了file1.o file2.o文件

归档目标文件并生成静态库1ar crv libmylib.a file1.o file2.o

我们得到了libmylib.a。 这就是我们需要的静态库。

在上述命令中,crv是ar的命令选项。 c如果需要生成新的库文件,请不要发出警告

r替换库中的现有文件或插入新文件

v输出详细信息

在ar t libmylib.a中,可以查看libmylib.a中包含的目标文件。

arhelp提供更多帮助。

注意:生成的库的文件名必须类似于libxxx.a。 这样可以在链接库时使用-lxxx。

相反,如果告诉编译器-lxxx,编译器将在指定的目录中搜索libxxx.a或libxxx.so

使用静态库文件1gcc test.c -L. -lmylib

生成a.out,可以从./a.out运行程序。 表示我们的静态库正常工作。

在上面的命令中,-L .指示gcc在搜索基于链接的过程中包含当前路径,-lmylib指示gcc在生成可执行文件时链接libmylib.a。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。