2013-02-01 39 views
0

我正在使用兩天前更新的Eclipse Juno,全新安裝並安裝了C/C++並將MinGW鏈接到Windows(順便說一句,有7個64位)。一切正常,我可以編譯/編譯「Hello World」並執行eclipse生成的文件。Eclipse EXPORT在編譯/編譯之前的DLL

現在我有三個文件, 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桌面,並使用此命令:

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

這將創建一個DLL文件,也是一個。一個文件,一個動態的一個靜態。

IN SHORT我的問題:

我可以得到Eclipse來使從functions.cpp一個DLL文件它試圖建立我的代碼到一個.exe文件之前?在這個階段,我的代碼正在尋找一個DLL文件到IMPORT。

回答

1

我發現如何做到這一點。這可能不是最好的選擇,但是我可以去我的項目屬性 - > C/C++編譯 - >設置 - >生成步驟。

Screenshot of Build Steps tab with code.

這似乎但是工作我不得不用C的,現在我試圖找到一種方法來設置命令來使用該項目的源目錄改爲:/月食/工作場所等