我目前正在研究stm32f3的嵌入式項目。在這個項目中,我想同時使用.cpp
和.c
文件: C文件用於UART/I2C ...初始化文件,而C++文件用於更加面向對象的解決方案。所以我真的需要保持他們兩個。 我的問題是如何使它正常工作?我在網上看到了一些答案,但對我來說這一切似乎都很困惑。如何正確啓動C和C++ IAR嵌入式項目?
我已經有一個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。 歡迎任何其他建議。
因此我應該使用'language \ C++'嗎? –
@AntoineAndrieu不,如果你使用兩種語言,那麼將它放在'Auto'上並使用正確的文件擴展名來選擇文件的語言。 – user694733