keil5能不能用宏定义来控制编译哪些源文件?
如题,最近把工程的底层移植了好几个mcu,应用层通用,想要通过配置文件宏定义,来选择芯片,控制编译的库和驱动源文件。可以用keil的分支,以及build target范围,但是总得配置感觉很烦。能不能用宏定义来实现呢?
当然可以,这不是最基本的吗 要配置全局宏,不然就歇菜了, keil支持头文件宏定义可视化,可以去看看相关的模板 ayb_ice 发表于 2021-8-24 16:57
当然可以,这不是最基本的吗
怎么搞?两种芯片的标准库文件都在工程里,编译的时候会报错 li880wert 发表于 2021-8-25 11:45
要配置全局宏,不然就歇菜了,
全局宏可以的,关键是每种芯片的库文件,怎么选择编译哪一种。
在每个c文件头部都加ifdef? waaini 发表于 2021-8-25 12:04
keil支持头文件宏定义可视化,可以去看看相关的模板
这个已经实现 ayb_ice 发表于 2021-8-24 16:57
当然可以,这不是最基本的吗
就像这样的,现在是通过分支和keil的配置来实现选哪些文件进行编译。如何用改变宏来自动选择编译的文件呢?
在keil中通过菜单project->manage->project items 添加一个project targets,然后在两个targets中选择不同的器件就可以了
至于编译哪些文件就要通过建立全局宏,在project->options for...的c/C++页签,第一行就是,define,添加你的宏,然后在对应的targets中需要编译的文件开头增加#ifdef XXXX 文件结尾添加#endif就可以了 xinyue_z 发表于 2021-8-26 15:34
在keil中通过菜单project->manage->project items 添加一个project targets,然后在两个targets中选择不同 ...
这工作量,还不如选择item,然后右击option里设置include in target buid
页:
[1]