Solved

Windows sockets as viewed from a linux programmer, oh my

Posted on 2009-05-08
2
233 Views
Last Modified: 2012-05-06
Hi all,

So I'm a novice network programmer by any means, but still all the network programming I've ever done has been in Linux / Cocoa. So, I'm curious as to why I can't even create a socket in my new windows application. I'm sure there's something dreadfully and obviously wrong with it. Can someone tell me what it is? I am being told:

Error      5      error LNK2001: unresolved external symbol _socket@12      responder.obj      Responder

Error      6      fatal error LNK1120: 1 unresolved externals


Thanks a bunch!
#include <stdio.h>
#include <winsock.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
 
 
int main()
{
	int MAXRECVSTRING = 255;
 
	int sock;
	struct sockaddr_in broadcastAddr;
	unsigned int broadcastPort;
	int recvStringLen;
 
	broadcastPort = 8004;
 
	sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
	if (sock < 0)
	{
		printf("\nsocket() failed");
		getch();
		exit(0);
	}
 
	// Still much more to come...
 
	return 0;
}

Open in new window

0
Comment
Question by:ehensens
2 Comments
 
LVL 11

Accepted Solution

by:
climbgunks earned 500 total points
ID: 24340890

the "unresolved external symbol" error means it's a linking error, not necessarily that there's anything wrong w/ your code.

In windows, you have to link against the winsock library, ws2_32.    Btw, you'll need to call the Windows Socket initializer, WSAStartup, before using the winsock API.

see http://msdn.microsoft.com/en-us/library/ms740506(VS.85).aspx for more info
0
 

Author Closing Comment

by:ehensens
ID: 31579663
I found the easiest way was just to

#pragma comment(lib, "ws2_32.lib")
0

Featured Post

Save the day with this special offer from ATEN!

Save 30% on the CV211 using promo code EXPERTS30 now through April 30th. The ATEN CV211 connects a laptop directly to any server allowing you instant access to perform data maintenance and local operations, for quick troubleshooting, updating, service and repair.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Even if you have implemented a Mobile Device Management solution company wide, it is a good idea to make sure you are taking into account all of the major risks to your electronic protected health information (ePHI).
Don’t let your business fall victim to the coming apocalypse – use our Survival Guide for the Fax Apocalypse to identify the risks and signs of zombie fax activities at your business.
After creating this article (http://www.experts-exchange.com/articles/23699/Setup-Mikrotik-routers-with-OSPF.html), I decided to make a video (no audio) to show you how to configure the routers and run some trace routes and pings between the 7 sites…
After creating this article (http://www.experts-exchange.com/articles/23699/Setup-Mikrotik-routers-with-OSPF.html), I decided to make a video (no audio) to show you how to configure the routers and run some trace routes and pings between the 7 sites…

679 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question