2017-02-14 7 views
0

私たちのコードはC言語で記述されており、C++ではなくCコンパイラが必要です。これをC++コードとリンクさせる必要があります。2つのEclipseプロジェクトCとC++でアプリケーションを分割する方法

私は実際のものではなくダミーコードを使って簡単な運動を試みています。 1つはCとしてコンパイルされ、リンクされていない2つのEclipseプロジェクトです。もう1つはC++としてコンパイルされ、Cオブジェクトにリンクされています。

私はC++クラスのオブジェクトをインスタンス化し、そのメソッドの1つをCから呼び出す(StoryTellerが指摘しているように、corerct Cバインディング)、オブジェクトのプレーンなC関数を、概念。

どうすればよいですか?私の問題は、コードではなくEclipseでのみ発生します。


[更新]私は、コンパイラは、拡張子に基づいて選ばれた一つのファイル&にC++とCを混ぜ:G ++を.C

ための.cppファイルとgccのために、私はその後、自宅、会議に殺到する必要が明日これを更新する予定です。

+2

2つのMakefileプロジェクト。そして、あなたが望むものをメイクファイルに書いてください... –

+2

* "私はC++クラスのオブジェクトをインスタンス化し、そのメソッドの1つをCから呼び出す" * - 適切なCバインディングがなければ、これは失敗することになります。 – StoryTeller

+0

Eclipseはメイクファイルを提供しています。 Whcihは私が問題に遭遇するところです。 – Mawg

答えて

0

実際、非常に簡単であることが判明しました。

私は1つの実行可能ファイルのみを生成したいので、私は1つのプロジェクトを作成しました。 C++プロジェクトが発生しますが、...

特定のディレクトリまたはソースファイルを右クリックして、[プロパティ/設定/コンパイラ]を選択し、該当する言語コンパイラを選択します。 GNUでは、C++コードではg++、Cコードではgccを選択しました。

ボーナスとして、[プロジェクト]メニューから[ビルドを自動的に実行]オプションをオフにすることはできますが、必要はありません。これにより、右クリックコンテキストメニュー項目が各ソースファイル、「選択したファイルをクリーン/ビルド」に追加されます。これは、混合言語だけでなく、すべてのプロジェクトで役立ちます。

質問は、コード化についてではなく、Eclipseの設定に関するものであったためです。ただし、CとC++を1つのプロジェクトに混在させたい場合は、開始位置はhereと非常に良いです。

関連する問題