我用函數指針函數指針,是不是在這個範圍內聲明
MyWSARecvProc OriginalWSARecvProc = (MyWSARecvProc) WSARecv;
功能的WSARecv聲明中winsock2.h:
WINSOCK_API_LINKAGE int WINAPI WSARecv(SOCKET,
LPWSABUF, DWORD, LPDWORD, LPDWORD, LPWSAOVERLAPPED,
LPWSAOVERLAPPED_COMPLETION_ROUTINE);
我包括winsock2.h在我的文件,但有是錯誤的:
error: 'WSARecv' was not declared in this scope
爲什麼會發生?如何解決它? 謝謝。
編輯
我包括WINDOWS.H之前winsock2.h作爲阿德里安Ratnapala所著。現在我有其他錯誤:
src\netredirect.o:netredirect.cpp:(.data+0x18): undefined reference to `[email protected]'
src\netredirect.o:netredirect.cpp:(.data+0x1c): undefined reference to `[email protected]'
src\netredirect.o:netredirect.cpp:(.data+0x20): undefined reference to `[email protected]'
src\netredirect.o:netredirect.cpp:(.data+0x24): undefined reference to `[email protected]'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/lib/libmingw32.a(main.o): In function `main':
e:\p\giaw\src\pkg\mingwrt-4.0.3-1-mingw32-src\bld/../mingwrt-4.0.3-1-mingw32-src/src/libcrt/crt/main.c:91: undefined reference to `[email protected]'
你可以顯示MyWSARecvProc的定義嗎? **編輯**我搜索了你的代碼,發現這是你可能在線使用的代碼。你有'#include「common.h」'定義'typedef int(WINAPI * MyRecvProc)(SOCKET s,char * buf,int len,int flags);'?這是我找到你的代碼的鏈接:這裏http://clemgalerie.free.fr/Documents/Divers/Bot%20ragna/openkore-wx-1.6.1/src/auto/XSTools/win32/netredirect.cpp這裏http://clemgalerie.free.fr/Documents/Divers/Bot%20ragna/openkore-wx-1.6.1/src/auto/XSTools/win32/common.h – AndyG
你可以使用'winsock.h'中的其他符號嗎?這個鏈接似乎是相關的http://sourceforge.net/apps/trac/mingw-w64/wiki/winsock2.h%20include%20order –
AndyG,MyWSARecvProc的定義你可以在你的鏈接中看到。是的,我包括common.h。 – user3017797