0

VxWorks MIPS コンパイラを使用しており、c++ としてコンパイルする必要があるサードパーティのソースがありますが、拡張子はすべて .c です。この場合、C++ コンパイルを強制するためにコンパイラに渡すことができるスイッチが必要ですが、見つかりません。

助言がありますか?

4

2 に答える 2

2

VxWorks MIPS コンパイラは、別の名前の gcc だけですか? -x c++もしそうなら、ファイル名の接尾辞に基づいてコンパイラにデフォルトを選択させるのではなく、言語を明示的に指定するフラグを与えることができるかもしれません。

于 2009-12-05T21:19:59.667 に答える
0

1つのトリックは、すべてのサードパーティソースを含むメタファイルを作成し、名前を.cpp/.ccに変更することです。何かのようなもの:

find 3rd_party -type f -name '*\.c' | awk '{print "#include \"" $0 "\""}' > build_3rd_party.cc

すべての-Iが整列していることを確認し、必要なコンパイルフラグを混乱させる必要があります。これにより、再帰するサブディレクトリが山積みになっている場合にも、処理速度が少し向上します。

それができない場合は、新しいCC env varを渡して、実際にcppコンパイラを指すサードパーティのものを作成します。

于 2009-08-16T23:22:49.637 に答える