プロが教えるわが家の防犯対策術!

IPv6対応でinet_ptonを利用したのですが、下記ビルド時にエラーが発生します。

error C4013: 'inet_pton' undefined; assuming extern returning int

調べた結果下記のヘッダファイルとライブラリーを読みこめばいいという
記載を見かけて、追加したのですが、それでも同様のエラーが発生します。
(下記に関するエラーはなかったので、"ws2_32.lib" に対してはリンクが通っていると思います。)

#include <Ws2tcpip.h>
#pragma comment( lib, "ws2_32.lib" )

ご教示のほどよろしくおねがいします。

環境:
Windows7 64bit
WDK7.1

A 回答 (1件)

WDK使ったことはありませんが……。



Ws2tcpip.hのinet_pton()のプロトタイプ宣言周辺を見ると…

>#if (NTDDI_VERSION >= NTDDI_VISTA)
>WINSOCK_API_LINKAGE
>INT
>WSAAPI
>inet_pton(

となっています。
NTDDI_VERSIONの設定次第で、後のプロトタイプ宣言は無効になるワケで……。
NTDDI_VERSIONはどう設定されています?
http://msdn.microsoft.com/ja-jp/library/windows/ …
http://k639.blog121.fc2.com/blog-entry-46.html

この回答への補足

回答ありがとうございます。

確認したとこと
NTDDI_VERSIONは0x06010000つまりNTDDI_WIN7となっていました。
そのため、有効になっていると考えます。

よろしくお願いします。

補足日時:2014/09/29 14:37
    • good
    • 0
この回答へのお礼

NTDDI_VERSION値についてサイド調査したところ、define値がセットさrていたため、判定が通っていないことが分かりました。ありがとうございました。

お礼日時:2014/09/30 08:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!