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