目录
1. S32DS for ARM 2018.R1中编译生成和调用静态库的方法和步骤
引言
在S32DS IDE下静态库文件的后缀名不再是.lib而是.a。
1. S32DS for ARM 2018.R1中编译生成和调用静态库的方法和步骤
1.1 编译生成静态库的方法和步骤
Step1:创建一个新的S32DS for ARM 2018.R1应用工程:
a. 菜单栏File-->New-->New S32DS Library Project:
b. 输入工程名,选择工程类型为Library project(默认为Elf S32DS project,将编译链接生成二进制可执行文件),选择正确的MCU part number,和工具链(默认为Standard S32DS toolchain for ARM--GCC toolchain)-->next:
c. 选择正确的内核和开发语言配置-(这里使用默认配置)->Finish:
Step2:添加需要编译到该静态库的C代码头文件(*.h)和源文件(*h):
Tips:
-
可以在一个静态库中添加多个C代码头文件(*.h)和源文件(*h),也可以通过将函数或者变量申明为extern类型作为库接口以调用应用工程输入;
-
另外,如果用户将C代码的头文件添加到自己新建的目录或者默认的src目录下,必须将其添加到C compiler的Includes paths下,否则会报文件找不到的错误:
step3:编译工程,即可在相应的编译目标文件夹下生成静态库文件:
1.2 调用静态库的方法和步骤
Step1:新建一个应用工程并将要调用的库文件和头文件添加到应用工程目录下,在调用静态库的C文件中包含相应的静态库函数和变量申明头文件即可调用:
Step2:工程属性中将包含静态库函数和变量申明头文件的目录添加到C Copiler的Include Paths:
Step3:设置链接器,添加要调用的静态库和相应的文件路径:
Tips:设置Libraries时,需要在英文输入法下输入双引号和冒号:
":libs32klib.a"
Step4:完成以上设置后,重新编译应用工程,即可。
总结
本文详细介绍了不同S32DS版本中如何编译生成和调用静态库的方法和步骤,创建工程时,选择使用S32DS的Library Project,可以非常容易的创建生成静态库的S32DS工程。调用静态库时,所有版本的S32DS的方法都差不多,首先需要将要调用的静态库文件及其函数和变量接口的申明头文件一起添加到应用工程,并在应用工程属性中设置相应的链接器(Linker)选项,让链接器可以识别找到要调用的静态库,需要特别注意的是在设置Linker的Libraries时,需要在英文输入法下输入双引号和冒号:":被调用的静态库(*.a文件)"。