我有一個使用getaddrinfo()
的C程序。它在Linux和Mac OS X上按預期工作。在MinGW上隱式聲明函數'getaddrinfo'
我正在將它移植到Windows中。
當我編譯它(使用MinGW GCC)我得到以下警告:
ext/socket/socket.c: In function 'sl_tcp_socket_init':
ext/socket/socket.c:98:5: warning implicit declaration of function 'getaddrinfo' [-Wimplicit-function-declaration]
ext/socket/socket.c:104:9: warning implicit declaration of function 'freeaddrinfo' [-Wimplicit-function-declaration]
然後整個事情失敗,於getaddrinfo()
和freeaddrinfo()
未定義的引用鏈接。現在
,根據this MSDN page,getaddrinfo()
支持Windows和位於頭文件Ws2tcpip.h
和庫文件Ws2_32.lib
。
我包括Ws2tcpip.h
和鏈接-lWs2_32
,所以我不知道爲什麼這不起作用。