打印
[其他ST产品]

更改外设配置并生成项目时STM32CubeIde都会重置设置

[复制链接]
90|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhouyou99|  楼主 | 2025-4-4 10:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
习惯用 STM32CubeIde 来配置硬件、外设、作系统等,但是当重新进行配置时,我注意到 头文件路径也被重置了。
因此,每次我更改外设配置并生成项目时,都会重置设置,此时需要手动添加每个源文件夹。
有没有办法避免这种情况?

使用特权

评论回复
沙发
公羊子丹| | 2025-4-5 07:40 | 只看该作者
我也踩过这个坑,CubeMX每次重新生成代码的时候,会覆盖.cproject和.project里的配置,所有你手动加的include path都会丢。

使用特权

评论回复
板凳
周半梅| | 2025-4-5 07:41 | 只看该作者
建议你把自己的include路径加到Project→Properties→C/C++General→Paths and Symbols→User标签下,这样Cube生成的时候就不会覆盖。

使用特权

评论回复
地板
帛灿灿| | 2025-4-5 07:42 | 只看该作者
你可以改用User defined sections,在代码里加/*USER CODE BEGIN*/的区域,这样Cube不会动你写的东西,但路径还是要配置在IDE里。

使用特权

评论回复
5
童雨竹| | 2025-4-5 07:43 | 只看该作者
其实最稳定的办法是用外部Makefile或CMake管理你的路径和编译,不依赖Cube自动生成那套。

使用特权

评论回复
6
万图| | 2025-4-5 07:44 | 只看该作者
试试在.ioc目录同级新建.project和.cproject的只读备份文件,改完之后手动替换回来,也是一种土办法保住配置。

使用特权

评论回复
7
Wordsworth| | 2025-4-5 07:45 | 只看该作者
我一般是在生成代码后把include的路径改成用相对路径,并把Cube生成文件结构固定,这样后面重新生成也不影响头文件搜索。

使用特权

评论回复
8
Bblythe| | 2025-4-5 07:45 | 只看该作者
你在CubeMX的生成选项里是不是没有勾选“保留用户代码”?那个不只影响代码,也可能影响一些项目文件的保留策略。

使用特权

评论回复
9
Pulitzer| | 2025-4-5 07:46 | 只看该作者
还有一种办法,把所有你自己写的源码放到一个单独文件夹,然后在项目里只把那个路径加一次,每次生成都不用重新加。

使用特权

评论回复
10
Uriah| | 2025-4-5 07:47 | 只看该作者
如果是用Git管理项目的话,建议把.project和.cproject排除提交,每次修改.ioc后用diff工具看看改了什么再手动合并。

使用特权

评论回复
11
Clyde011| | 2025-4-5 07:48 | 只看该作者
你可以写个小脚本自动在每次生成代码后,自动替换include path的XML片段,我就用Python处理.cproject里路径恢复。

使用特权

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

本版积分规则

7

主题

7

帖子

0

粉丝