0

私は2日前に更新されたEclipseJunoを使用しており、C / C ++をフレッシュインストールしてインストールし、MinGWをWindowsにリンクしています(ちなみに7 64ビット)。すべて正常に動作し、「Hello World」をビルド/コンパイルして、eclipseによって生成されたファイルを実行できます。

今私は3つのファイル、main.cppを持っています:

#include "functions.cpp"
#include <iostream>
using namespace std;
int main(int){
    int a = mult(20,5);
    cout << "Twenty times 5 is " << a;
    cout << a << "Plus 2 is " << add2(a);
    return 0;
}

関数.cpp:

#include "header.h"
int EXPORT  add2(int num){
  return num + 2;
}
int EXPORT  mult(int num1, int num2){
  int product;
  product = num1 * num2;
  return product;
}

header.h:

#ifndef HEADER_H_
#define HEADER_H_
#ifdef BUILD_DLL
#define EXPORT __declspec(dllexport)
#else
#define EXPORT __declspec(dllimport)
#endif
int EXPORT add2(int num);
int EXPORT mult(int num1, int num2);
#endif /* HEADER_H_ */

これをコードで設定すると、最初にDLLファイルを生成してから、ビルド時に使用する必要があります。たとえば、これらのファイルをデスクトップに配置する場合、デスクトップを/ cdして、次のコマンドを使用できます。

g++ functions.cpp -o functions.dll -DBUILD_DLL -shared -Wl,--out-implib,libfunctions.dll.a

これにより、DLLファイルと.Aファイルが作成されます。1つは動的で、もう1つは静的です。

短い質問:

コードを.exeファイルにビルドする前に、Eclipseにfunctions.cppからDLLファイルを作成させることはできますか?この段階で、私のコードはインポートするDLLファイルを探しています。

4

1 に答える 1

1

私はこれを行う方法を見つけました。これには最適なオプションではないかもしれませんが、プロジェクトの[プロパティ]-> [C /C++ビルド]--->[設定]--->[ビルドステップ]に移動できました。

コード付きの[ビルドステップ]タブのスクリーンショット。

これは機能しているようですが、C:/ eclipse / workplaceなどを使用する代わりに、プロジェクトのソースディレクトリを使用するようにコマンドを設定する方法を見つけようとしています。

于 2013-02-01T18:31:36.580 に答える