MounRiver Studio 将工程转换为 C++ 工程

环境:

MounRiver Studio 版本:v1.84

操作系统:Win10

转换步骤如下:

  • 右键要转换为C++的工程new->other,按下图选择

  • 添加 头文件路径

将所有 C 编译器的头文件赋值到 C++ 编译器中:

  • C++ Linker 设置:

  • 添加 extern C

如果编译过程出现了 如下错误:

“e:/work_soft/mounriver_v183/mounriver_studio/toolchain/risc-v embedded gcc/bin/../lib/gcc/riscv-none-embed/8.2.0/../../../../riscv-none-embed/bin/ld.exe: ./User/main.o: in function `main':
E:\Works\Projects\PCB\SYJ01\docs\SYJ01-firmware\obj/../User/main.cpp:44: undefined reference to `LED_Init()'”

是 C++ 文件调用 c 文件引起的,需要在 C 的头文件中增加如下 extern "C" 定义:

#ifndef HARDWARE_LED_LED_H_
#define HARDWARE_LED_LED_H_

#include "ch32v20x_conf.h" // 包含各个头文件

#ifdef __cplusplus
extern "C" {
#endif

void LED_Init(void); // LED 初始化

#ifdef __cplusplus
}
#endif

#endif /* HARDWARE_LED_LED_H_ */
  • 添加C++初始化函数,在启动文件调用main 函数之前,添加初始化函数

还需要两个空函数,必须声明在.c后缀的文件中:

  • 此时工程文件环境已经配置好了,后缀.cpp的文件都会调用C++编译器编译,其他的就是C与C++互相调用的方法了。

加作者微信:jiyuyun18(积雨云), 交流电子技术

留言:入群,加入电子技术讨论群

留言:资料,领取免费电子技术学习资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞多学堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值