2016-06-01 8 views
0

私は、CancelIOExを呼び出すウィンドウ固有のコードをいくつか構築しようとしています。しかし、gccリンカーは、リンクするためのCancelIOExの実装を見つけることができないと不平を言っています。gcc mingwコンパイラがCancelIOExを認識しない

kernel32ライブラリファイルをリンクライブラリとして指定しようとしましたが、動作しませんでした。

私はコードブロックIDEを使用しています。

誰でもこの問題を回避する方法を知っていますか?

+0

Windows SDKのどのバージョンですか? MSDNによると、CancelIOExにはVista以上が必要です。 –

+0

私はWindows 7 SDKをインストールしましたが、mingw/gccがそれを指しているかどうかはわかりません。それをどのように確認するのですか? – rohitsan

+0

この関数は 'CancelIoEx'です。大文字と小文字が区別されます(大文字のOを使用しています) –

答えて

1
msdnパー

mingw、あなたがWINDOWS.Hを含む前に、あなたはVistaよりも大きくなるように使用しているWindowsのバージョンを定義する必要があります。

# define NTDDI_VERSION NTDDI_VISTA 
# undef _WIN32_WINNT 
# define _WIN32_WINNT _WIN32_WINNT_VISTA 

これは、より良いgccのコマンドラインにもを行うことができる。

CPPFLAGS += -DNTDDI_VERSION=NTDDI_VISTA -D_WIN32_WINNT=_WIN32_WINNT_VISTA 
関連する問題