我正在使用 VxWorks MIPS 编译器,我有一些第三方源代码需要编译为 c++,但所有扩展名都是 .c。在这种情况下,我必须有一个可以传递给编译器的开关来强制 C++ 编译,但我找不到它。
有什么建议么?
我正在使用 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 env var 来制作真正指向 cpp 编译器的第 3 方内容。