I have had nothing but trouble with Winsock since I started using it. I cannot seem to initialize Winsock to save my life. I’m not asking for anyone to write the whole program ( As I know how annoying that is ) I just need help with Winsock. I have tried several compilers and always get weird errors.
1>Compiling...
1>main.cpp
1>Linking...
1>main.obj : error LNK2019: unresolved external symbol __imp__WSACleanup@0 referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol __imp__WSAStartup@8 referenced in function _main
1>C:\Users\Rory\ProjectX\ProjectX\Debug\ProjectX.exe : fatal error LNK1120: 2 unresolved externals
1>Build log was saved at "file://c:\Users\Rory\ProjectX\ProjectX\ProjectX\Debug\BuildLog.htm"
1>ProjectX - 3 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Here is my code:
#include <cstdlib>
#include <iostream>
#include <string.h>
#include <winsock2.h>
int iReqWinsockVer = 2;
using namespace std;
int main()
{
cout<<"Initializing Winsock 2...\n";
// WINSOCK INITIALIZATION
WSADATA wsaData;
if (WSAStartup(MAKEWORD(iReqWinsockVer,0), &wsaData)==0) {
// Check if major version is at least iReqWinsockVer
if (LOBYTE(wsaData.wVersion) >= iReqWinsockVer) {
// Network stuff here
}
else {
// Required version not available
}
// Cleanup winsock
if (WSACleanup()!=0) {
// cleanup failed
}
}
else {
// startup failed
}
// END WINSOCK INITIALIZATION
system("PAUSE");
}
Add ws2_32.lib as linker input.
Project Properties->linker->input page
On that page you will see Additional Dependencies.
Put it in there – note that library names should be seperated with spaces
Or you could add this line directly to your source file: