特定のアプリケーションで押されたキーをキャプチャして視覚化するためのツールを作成したいので、サンプルソースを探しました。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であることをコンパイラーに伝えますか?
ビジュアルスタジオなしで動作する別の例がある場合はお知らせください。
ご協力いただきありがとうございます。
ノワール
はどうもありがとうございました! – Noir