私は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ファイルを探しています。