[STM32F1] 如何使用STM32CubeIDE生成main.cpp

[复制链接]
367|9
 楼主| yunfu1117 发表于 2025-7-7 11:31 | 显示全部楼层 |阅读模式
用c++开发一个项目,项目设置为C++,但它仍然生成main. c。每次IDE生成main.c不更新main.cpp文件,更新main. c。不知道如何搞定?


公羊子丹 发表于 2025-7-31 13:27 | 显示全部楼层
CubeIDE默认生成的是C语言模板,想用C++的话,main.cpp需要你自己手动创建,然后移植代码。
周半梅 发表于 2025-7-31 13:28 | 显示全部楼层
目前CubeIDE不会自动生成main.cpp文件,main.c是自动生成的,你只能把main.c改成main.cpp或者新建main.cpp。
帛灿灿 发表于 2025-7-31 13:28 | 显示全部楼层
建议先生成工程,再删除main.c,自己写main.cpp,这样就不会自动覆盖了。
童雨竹 发表于 2025-7-31 13:29 | 显示全部楼层
另外,项目属性里语言选C++,但STM32CubeMX生成代码还是偏向C的风格。
万图 发表于 2025-7-31 13:30 | 显示全部楼层
如果想用C++,最好手动添加main.cpp文件,并把启动文件和HAL库用extern "C" 包裹。
Wordsworth 发表于 2025-7-31 13:30 | 显示全部楼层
还有一点,STM32Cube的代码生成工具不太支持C++,所以需要自己维护main.cpp。
Bblythe 发表于 2025-7-31 13:31 | 显示全部楼层
可以试试用C++新建文件,把main函数写进去,IDE也能编译和链接。
Pulitzer 发表于 2025-7-31 13:32 | 显示全部楼层
不要直接修改自动生成代码,建议把你的C++代码写在别的文件里,main.cpp调用。
Uriah 发表于 2025-7-31 13:32 | 显示全部楼层
你可以把main.c里的内容复制到main.cpp,改成C++写法,避免CubeIDE自动更新覆盖。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

62

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部