0

我正在使用两天前更新的 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 文件。

4

1 回答 1

1

我发现了如何做到这一点。这可能不是最好的选择,但是我可以进入我的项目属性-->C/C++ Build--->Settings--->Build Steps。

带有代码的构建步骤选项卡的屏幕截图。

这似乎可行,但是我现在正试图找到一种方法来设置命令以使用项目的源目录,而不必使用 C:/eclipse/workplace 等。

于 2013-02-01T18:31:36.580 回答