【发布时间】:2013-12-27 15:00:57
【问题描述】:
我目前正在为 stm32f3 开发一个嵌入式项目。在这个项目中,我想同时使用 .cpp 和 .c 文件:
C 文件用于 UART/I2C... 初始化文件,而 C++ 文件用于更面向对象的解决方案。因此,我真的需要保留它们。
我的问题是如何使它正常工作?我在网上看到了一些答案,但对我来说似乎都很困惑。
我已经有一个 C++ 项目中包含 uart.c/h 文件的项目(板工作正常),但是当我向项目中添加 i2c.c/h 文件时,出现了很多链接错误。
示例 = Error[Li005]: no definition for "I2C_StructInit" [referenced from C:\Users\IAR Embedded Workbench\STM32F3-Discovery_FW_V1.1.0\Project\I2C Interface CPU\Debug\Obj\i2c.o]
main 应该是 C 还是 C++ 文件?
我应该在项目设置中使用Language\Auto,还是指定每个文件用C或C++编译?
什么时候需要使用extern "C"?
我正在使用 IAR Embedded Workbench IDE。 欢迎任何其他建议。
【问题讨论】: