我正在使用两天前更新的 Eclipse Juno,全新安装并安装了 C/C++ 并将 MinGW 链接到 Windows(顺便说一下 7 64 位)。一切正常,我可以构建/编译“Hello World”并执行 eclipse 生成的文件。
现在我有三个文件,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;
}
标头.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 desktop 并使用以下命令:
g++ functions.cpp -o functions.dll -DBUILD_DLL -shared -Wl,--out-implib,libfunctions.dll.a
这将创建一个 DLL 文件和一个 .A 文件,一个动态一个静态。
简而言之,我的问题:
我可以让 Eclipse 在尝试将我的代码构建到 .exe 文件之前从 functions.cpp 创建一个 DLL 文件吗?在这个阶段,我的代码正在寻找要导入的 DLL 文件。