我正在使用 VxWorks MIPS 编译器,并且我有一些第三方源代码需要编译为 c++,但所有扩展名都是 .c。 在这种情况下,我必须有一个开关可以传递给编译器来强制 C++ 编译,但我找不到它。
有什么建议吗?
VxWorks MIPS 编译器只是名称不同的 gcc 吗? 如果是这样,您也许可以给它标志
-x c++
来显式指定语言,而不是让编译器根据文件名后缀选择默认值。
一个技巧是创建一个包含所有第 3 方源的元文件并将其重命名为 .cpp/.cc。 比如:
find 3rd_party -type f -name '*\.c' | awk '{print "#include \"" $0 "\""}' > build_3rd_party.cc
您必须确保所有 -I 都对齐并弄乱它们想要的编译标志。 如果有大量子目录需要递归,这也会加快速度。
如果失败,请传递一个新的 CC 环境变量来创建真正指向 cpp 编译器的第 3 方内容。