本来想终结这一系列,不过最近使用keil开发后又有些心得,因此打算利用空闲时间再将它继续下去
上篇回顾:
- 四号错误由于内容太多,就不再贴一遍了,参考将mkd工程转为cmake工程探索(二)
注意到,错误信息里包含了很多这样的信息:
/home/b/workspace/stm32/share/usart.c:91:3: error: unknown type name 'GPIO_InitTypeDef'
GPIO_InitTypeDef GPIO_InitStructure;
很明显,GPIO InitTypeDef 是有定义的,就在
stm32f10x_gpio.c里,这时候,想起了keil开发时要设置的define。于是,在led/CMakeLists.txt里加上一行
add_definitions(-DUSE_STDPERIPH_DRIVER -DSTM32F10X_HD)然后
cd build&&cmake ..&make
wow,进度条一路到了100%,这是要成功了吗?不又冒出个错误
错误五
arm-none-eabi-gcc: error: unrecognized command line option '-rdynamic'
src/CMakeFiles/led.hex.dir/build.make:105: recipe for target ‘src/led.hex’ failed
make[2]: *</

本文介绍了作者在将MDK工程转换为CMake工程过程中遇到的问题及解决思路,包括GPIO初始化定义问题、启动文件的处理以及汇编文件在CMake中的编译。在解决汇编文件编译问题时,作者发现需要通过指定编译器,最终通过查阅CMake官方文档找到了解决方案。
最低0.47元/天 解锁文章
4430





