你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
ST
我使用VScode搭配ST的插件基于Cmake来编译和调试程序,我感觉非常方便。但是遇到一个问题,我不知道如何把.a后缀的静态库文件添加到工程中。 有没有大佬可以帮忙解决一下。
举报
在 VS Code + STM32CubeCLT(CMake 工程)中把 .a 静态库链进来,只需改两处 CMakeLists.txt,步骤如下:
.a
把库文件和头文件放好 复制
project-root/ ├─ lib/ # 自己建的 │ ├─ libxxx.a # 你的静态库 │ └─ xxx.h # 对应头文件 └─ CMakeLists.txt
在根目录 CMakeLists.txt 里加三句话 cmake复制
# 1. 让编译器找得到头文件 target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/lib) # 2. 让链接器找得到库文件 target_link_directories(${CMAKE_PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/lib) # 3. 真正把库链进来 target_link_libraries(${CMAKE_PROJECT_NAME} xxx) # xxx 去掉前缀 lib 和 .a
也可以用绝对路径一行搞定: cmake复制
target_link_libraries(${CMAKE_PROJECT_NAME} ${CMAKE_SOURCE_DIR}/lib/libxxx.a)
保存后重新 Ctrl+Shift+P → CMake: Build 即可;若仍提示找不到库,确认库是为 arm-none-eabi-gcc 交叉编译出来的,且架构(Cortex-M7/M4 等)与目标芯片一致
收到年中活动奖品——绿联智充魔盒
碎掉的水杯又回来了
技术方案调不出来备受打击
年中获奖名单公布了,快去看看有没有你
明天又要上班了
商城积分
商城补货了,错过了
月底积分商城兑换的魔盒收到了,大家兑换的都收到了吗?
商城补货
今晚是不需要开空调的一晚
在 VS Code + STM32CubeCLT(CMake 工程)中把
.a
静态库链进来,只需改两处 CMakeLists.txt,步骤如下:把库文件和头文件放好 复制
在根目录 CMakeLists.txt 里加三句话 cmake复制
也可以用绝对路径一行搞定: cmake复制
保存后重新 Ctrl+Shift+P → CMake: Build 即可;若仍提示找不到库,确认库是为 arm-none-eabi-gcc 交叉编译出来的,且架构(Cortex-M7/M4 等)与目标芯片一致