2011年7月20日水曜日

ATTACH_PARENT_PROCESS



このような問題がありました:
CC     main.o
main.c:47:2: error: #error "_WIN32_WINNT must be defined >= 0x0500"
main.c: In function 'main':
main.c:252:52: error: 'ATTACH_PARENT_PROCESS' undeclared (first use in this function)
main.c:252:52: note: each undeclared identifier is reported only once for each function it appears in
make[3]: *** [main.o] Error 1
このような事が考えられます:

ATTACH_PARENT_PROCESSを引数として受け付けるAPI AttachConsole Function は,Windows XP以上のOSで実装されている様に示されています。
Windows XPは,Version 5.1のOSですので,こちらのOS向け機能がビルド時に利用できるように,プリプロセッサ_WIN32_WINNT=0x0501を定義する必要があるものと考えられます。

AttachConsole APIは(glib等が出力する)デバッグ出力を,evince等の様な黒窓(コンソールウィンドウ)を持たないプログラムに対しても黒窓を出現させて,デバッグ出力を可視化できるといった効能があり,活用されているようです。
このように対策しました:
  • #include "config.h"の後に、
    #define _WIN32_WINNT 0x0501
    を追加してみる。

0 件のコメント:

コメントを投稿