最近需要在ubuntu环境下利用GCC生成静态库(static library:.a file),就学习了一下实现过程。
我安装的是以下版本:
各版本arm-gcc区别与安装_weilaike7的博客-优快云博客_armcc安装
GNU Arm嵌入式工具链是一套现成的开源工具套件,用于 C、C++编程。GNU Arm嵌入式工具链面向 32 位Arm Cortex-A、Arm Cortex-M 和Arm Cortex-R 处理器系列。GNU Arm嵌入式工具链包括 GNU 编译器 (GCC),可直接从 Arm 免费获得,用于 Windows、Linux 和 Mac OS X 操作系统上的嵌入式软件开发。
arm-none-eabi-gcc -c foo.c
arm-none-eabi-ar -rc libfoo.a foo.o
网上搜了一下,就找到上述两行Gcc 命令用于生成static library,注意这里arm-none-eabi-gcc指的是你实际安装使用的gcc工具路径,我这里就是GCC Tool path/arm-none-eabi-gcc/
生成这个.a 文件之后,我还需要把它放到另一个project相应位置,而另一个project是使用Cmake进行编译连接,也就是通过编写Cmakelist.txt去生成Makefile去指导gcc如何去编译、链接文件。
那么我还得学习一下如何在cmake里链接外部导入的静态库。
add_library(foo STATIC IMPORTED)
set_property(TARGET foo PROPERTY
IMPORTED_LOCATION "/path/to/libfoo.a")
https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2?revision=05382cca-1721-44e1-ae19-1e7c3dc96118&la=en&hash=D7C9D18FCA2DD9F894FD9F3C3DC9228498FA281A
1797

被折叠的 条评论
为什么被折叠?



