2012-02-15 10 views
3

特定のアプリケーションで押されたキーをキャプチャして視覚化するためのツールを作成したいので、サンプルソースを探しました。mingwとeclipseでdllをコンパイルする

私の結果はこれだった:

http://www.codeguru.com/cpp/w-p/system/keyboard/article.php/c5699

しかし、それはまだ動作しません。

Mingw 4.6.1をツールチェーンとして使用して、Elipse(Helios、CDTバージョン7.0.0.201006141710)でmakefileプロジェクトとしてソースをインポートしました。

はkeydll3.cppでは私は私がDLL関数をエクスポートするプリプロセッサを伝えるためにライン

#define KEYDLL3_EXPORTS 

を追加しました。私はプロジェクトをコンパイルしようとすると

は今、次のエラーがoccour:

 
    **** Internal Builder is used for build    **** 
    g++ -shared -DBUILDING_EXAMPLE_DLL -IC:\MinGW\include -IC:\MinGW\lib\gcc\mingw32\4.6.1\include\c++ -O2 -g -Wall -c -fmessage-length=0 -oStdAfx.o ..\StdAfx.cpp 
    g++ -shared -DBUILDING_EXAMPLE_DLL -IC:\MinGW\include -IC:\MinGW\lib\gcc\mingw32\4.6.1\include\c++ -O2 -g -Wall -c -fmessage-length=0 -okeydll3.o ..\keydll3.cpp 
    ..\keydll3.cpp:31:0: warning: ignoring #pragma data_seg [-Wunknown-pragmas] 
    ..\keydll3.cpp:34:0: warning: ignoring #pragma data_seg [-Wunknown-pragmas] 
    ..\keydll3.cpp:36:0: warning: ignoring #pragma comment [-Wunknown-pragmas] 
    g++ -okeydll3 keydll3.o StdAfx.o 
    c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libmingw32.a(main.o): In function `main': 
    C:\MinGW\msys\1.0\src\mingwrt/../mingw/main.c:73: undefined reference to `[email protected]' 
    collect2: ld returned 1 exit status 
    Build error occurred, build is stopped 

彼が、それはWindowsアプリケーションだと仮定しているため、コンパイラはWinMain関数の文を見逃しているようです。しかし、dllはありません。 "-share"オプションは効果がないようです。

私はどのように私のコードはいくつかのWindows API呼び出しでDLLであることをコンパイラーに伝えますか?

ビジュアルスタジオなしで動作する別の例がある場合はお知らせください。

ご協力いただきありがとうございます。

ノワール

答えて

3

あなたは間違った場所に-sharedオプションを追加しました。コンパイラフラグではなく、リンカフラグに追加する必要があります。あなたの命令はこのように見えるはずです。

g++ -DBUILDING_EXAMPLE_DLL -IC:\MinGW\include -IC:\MinGW\lib\gcc\mingw32\4.6.1\include\c++ -O2 -g -Wall -c -fmessage-length=0 -oStdAfx.o ..\StdAfx.cpp 
g++ -DBUILDING_EXAMPLE_DLL -IC:\MinGW\include -IC:\MinGW\lib\gcc\mingw32\4.6.1\include\c++ -O2 -g -Wall -c -fmessage-length=0 -okeydll3.o ..\keydll3.cpp 
g++ -shared -okeydll3 keydll3.o StdAfx.o 
+0

はどうもありがとうございました! – Noir

関連する問題