laden einer DLL Funktion funktioniert nicht.
-
<-- Da ist es
-
Hallo zusammen,
die Funktion "gai_strerr" wird nicht von "ws2_w32.dll" exportiert und kann somit auch nicht via LoadLibrary & GetProcAddress ermittelt werden. Um diese Funktion nutzen zu können, muss der Header "ws2tcpip.h" eingebunden werden, da dort die Funktion nicht nur definiert sondern auch implementiert ist.
Gruß refowe
-
Ich hab diesen Header eingebunden, aber gai_strerror und getaddrinfo usw. sind undefiniert....WARUUUuuUUM? - *heul
-
refowe schrieb:
da dort die Funktion nicht nur definiert sondern auch implementiert ist
Und was ist da der Unterschied?
clierko schrieb:
Ich hab diesen Header eingebunden, aber gai_strerror und getaddrinfo usw. sind undefiniert....WARUUUuuUUM? - *heul
Evtl. altes PlatformSDK? Zudem steht in der Doku auch was von Wspiapi.h.
-
hab jetzt alles aus der sdk ins mfc++ verzeichnis kopiert.
jetzt bekomme ich hunderte Fehler:
Hier ein Ausschnitt:
microsoft visual studio6\vc98\include\ws2tcpip.h(29) : error C2079: 'imr_multiaddr' uses undefined struct 'in_addr'
e:\microsoft visual studio6\vc98\include\ws2tcpip.h(30) : error C2079: 'imr_interface' uses undefined struct 'in_addr'
e:\microsoft visual studio6\vc98\include\ws2tcpip.h(38) : error C2079: 'imr_multiaddr' uses undefined struct 'in_addr'
e:\microsoft visual studio6\vc98\include\ws2tcpip.h(39) : error C2079: 'imr_sourceaddr' uses undefined struct 'in_addr'
e:\microsoft visual studio6\vc98\include\ws2tcpip.h(40) : error C2079: 'imr_interface' uses undefined struct 'in_addr'
e:\microsoft visual studio6\vc98\include\ws2tcpip.h(46) : error C2079: 'imsf_multiaddr' uses undefined struct 'in_addr'
e:\microsoft visual studio6\vc98\include\ws2tcpip.h(47) : error C2079: 'imsf_interface' uses undefined struct 'in_addr'
e:\microsoft visual studio6\vc98\include\ws2tcpip.h(48) : error C2146: syntax error : missing ';' before identifier 'ims
-
clierko schrieb:
hab jetzt alles aus der sdk ins mfc++ verzeichnis kopiert.
Keine gute Idee. Sag deiner IDE einfach, wo sich die Include Verzeichnisse befinden (über die Optionen machbar).
-
Das hatte ich schon probiert..klappte nicht so recht, aber daran liegt es nicht.
#include <winsock2.h> #include <WS2tcpip.h> int main() { return 0; }
Fehler:
e:\microsoft visual studio6\vc98\include\wspiapi.h(45) : error C2265: '<Unknown>' : reference to a zero-sized array is illegal
e:\microsoft visual studio6\vc98\include\wspiapi.h(45) : error C2265: '<Unknown>' : reference to a zero-sized array is illegal
Error executing cl.exe.
-
zero-sized Arrays sind in C++ nicht erlaubt (IIRC auch in C). Und gerade im Hinblick auf Standard Konformität nutzen die PlatformSDK Header oft Compiler Erweiterungen. Hast du diese evtl. deaktiviert?
-
Wo kannich das an/abschalten? (MVC++ 6.0)
-
clierko schrieb:
Wo kannich das an/abschalten? (MVC++ 6.0)
I had same problem, now i have added:
/D "_WSPIAPI_COUNTOF"
to Project Options found in Project Settings...
And now everything is ok...