如何将 libgcc.a 库添加到我的 keil 项目中

How to add a libgcc.a library to my keil project

我需要为使用 GCC 的客户创建一个库。我有一个使用 GCC 编译的 Keil 项目。下一步是制作图书馆。我从项目主文件中删除了Keil生成的libname.a库文件。现在我想创建一个具有相同主库和 libname.a 库的新项目。我没有这样做。我将此库添加到 Options/Linker 选项卡,添加了库路径并获取“c:/gnu arm embedded toolchain/10p3_2021_10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../。 ./arm-none-eabi/bin/ld.exe: 找不到 -llibname.a 这是所有 options/flags:

-mcpu=cortex-m4 -mthumb -o ./DebugConfig/name_main.elf -L ./DebugConfig *.o -llibname.a -mcpu=cortex-m4 --specs=nosys.specs -Wl,--gc-sections -static -Wl,--start-group -Wl,--end-group --specs=nano.specs -mthumb -Wl,--start-group -lc -lm -Wl,--结束组

提前致谢。

只需要在名字前面加上一个冒号 :libname.a ...

我讨厌用工具打架。 这是解决方案:我需要单独添加到 misc 部分 -L path\lib\one -l libname 或者 -l:name.a

我没有找到我的选项写在哪里:

  1. -l 名称,在本例中将搜索 libname.a 文件;
  2. -l:name.a 在这种情况下 name.a 文件是目标库。

为什么要搞得这么复杂……显然,这只是一个反问句。我希望这对以后的其他人有所帮助。