0

オープンソースの C プログラムで書かれたサブルーチンを呼び出す必要があるプログラムを C++ で書いています。C ファイルは shd.c と呼ばれます。(プログラムには shd のヘッダー ファイルはありません)。C プログラム自体は gcc コンパイラで正常にコンパイルされ、C ファイルへの参照なしで g++ でコンパイルすると、C++ プログラムは正常に動作します。

ただし、g++ は C プログラムがあまり好きではなく、g++ で shd を単独でコンパイルすると、何百ものエラーと警告が表示されます。また、C ファイルをインクルードして C++ プログラムをコンパイルすると、同じ問題が発生します。

今のところ、C ファイルをインクルードする方法は次のようになります。

extern "C"{
#include "shd"
}

とにかく、ここでの私の唯一のオプション (間違っていたら訂正してください) は、C ファイルと C++ ファイルを別々のコンパイラで別々にコンパイルすることだと思います。これを行う方法はありますか?また、NetBeans を使用していることも指摘したいと思います。

4

1 に答える 1