【问题标题】:Eclipse EXPORT DLL before compile/build编译/构建之前的 Eclipse EXPORT DLL
【发布时间】:2013-02-01 16:56:23
【问题描述】:

我正在使用两天前更新的 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;
}

functions.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 desktop 并使用以下命令:

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

这会创建一个 DLL 文件和一个 .A 文件,一个动态一个静态。

简短的问题:

我可以让 Eclipse 在尝试将我的代码构建到 .exe 文件之前从 functions.cpp 创建一个 DLL 文件吗?在这个阶段,我的代码正在寻找要导入的 DLL 文件。

【问题讨论】:

    标签: eclipse dll mingw dllimport dllexport


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-25
      • 1970-01-01
      • 2013-03-29
      • 1970-01-01
      • 1970-01-01
      • 2014-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多