[C语言]

keil5能不能用宏定义来控制编译哪些源文件?

[复制链接]
8296|10
手机看帖
扫描二维码
随时随地手机跟帖
djz1992|  楼主 | 2021-8-24 16:20 | 显示全部楼层 |阅读模式
ayb_ice| | 2021-8-24 16:57 | 显示全部楼层
当然可以,这不是最基本的吗

使用特权

评论回复
li880wert| | 2021-8-25 11:45 | 显示全部楼层
要配置全局宏,不然就歇菜了,

使用特权

评论回复
waaini| | 2021-8-25 12:04 | 显示全部楼层
keil支持头文件宏定义可视化,可以去看看相关的模板

使用特权

评论回复
djz1992|  楼主 | 2021-8-26 14:45 | 显示全部楼层
ayb_ice 发表于 2021-8-24 16:57
当然可以,这不是最基本的吗

怎么搞?两种芯片的标准库文件都在工程里,编译的时候会报错

使用特权

评论回复
djz1992|  楼主 | 2021-8-26 14:45 | 显示全部楼层
li880wert 发表于 2021-8-25 11:45
要配置全局宏,不然就歇菜了,

全局宏可以的,关键是每种芯片的库文件,怎么选择编译哪一种。
在每个c文件头部都加ifdef?

使用特权

评论回复
djz1992|  楼主 | 2021-8-26 14:46 | 显示全部楼层
waaini 发表于 2021-8-25 12:04
keil支持头文件宏定义可视化,可以去看看相关的模板

这个已经实现

使用特权

评论回复
djz1992|  楼主 | 2021-8-26 15:17 | 显示全部楼层
ayb_ice 发表于 2021-8-24 16:57
当然可以,这不是最基本的吗

2575961273fe5e1491.png 就像这样的,现在是通过分支和keil的配置来实现选哪些文件进行编译。如何用改变宏来自动选择编译的文件呢?

使用特权

评论回复
xinyue_z| | 2021-8-26 15:34 | 显示全部楼层
在keil中通过菜单project->manage->project items 添加一个project targets,然后在两个targets中选择不同的器件就可以了
至于编译哪些文件就要通过建立全局宏,在project->options for...的c/C++页签,第一行就是,define,添加你的宏,然后在对应的targets中需要编译的文件开头增加#ifdef XXXX   文件结尾添加#endif就可以了

使用特权

评论回复
djz1992|  楼主 | 2021-8-26 15:59 | 显示全部楼层
xinyue_z 发表于 2021-8-26 15:34
在keil中通过菜单project->manage->project items 添加一个project targets,然后在两个targets中选择不同 ...

这工作量,还不如选择item,然后右击option里设置include in target buid

使用特权

评论回复
玥月| | 2021-8-27 08:26 | 显示全部楼层

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:人生苦短,冬日苦长,正是青葱,却无骄阳

113

主题

616

帖子

5

粉丝