我有一些在C ++ Windows应用程序和XC16 C应用程序之间共享的代码。源代码的编写方式使它在MSVC和XC16下完全编译(适当使用__cplusplus
宏)。
问题在于XC16拒绝构建foo.cpp
。我必须将文件复制到foo.c
然后再将其复制回来。这对版本控制造成了严重破坏,并且当构建过程中的复制功能自动化时,会在ide中进行代码编辑。
有没有办法让XC16构建(作为C)扩展名为cpp的文件? (请注意,头文件是foo.h
,所以这不是问题。)
答案 0 :(得分:0)
我们在一个Windows构建环境(Embarcadero CBuilder)中发现了一个标志,强制将foo.c
编译为C ++。因此,我们将重命名为foo.c
。问题解决了。 (编辑:其他人评论说VC中存在类似的标志)
我们在XC16(基于gcc 4.5.1)中找不到可比较的标志来将foo.cpp
视为C源文件。 -x标志(Forcing gcc to compile .cpp file as C)似乎在MPLABX下不起作用。