Link to home
Start Free TrialLog in
Avatar of tsung
tsung

asked on

how to compile winsock program ?

I'm from a UNIX environment programmer and i faced a problem of compiling a socket program (it work on UNIX).
Currently i'm using borland C++4.5 and i'm trying to write a windows base socket program.

just some need info, is that enough just only include thw winsock.h header file ? or what else do i need ? any .lib file or .dll file ? if yes, how do i make a linking of it ?

error occur when i try to link the program, it said undefine symbol SOCKET in mysock.cpp

how should i solve that ?
Avatar of _Zaphod
_Zaphod

You need to link wsock32.lib or winsock.lib, depending on your compiler.
Avatar of tsung

ASKER

How should i make the linkage for the winsock.lib to my program if i'm using the borland c++ 4.5 compiler ?
This is proboly a dumb question but you do have SOCKET defined somewhere??  I use borland 4.5  I will see if I can't figure out how to do the linking.
Avatar of tsung

ASKER

I checked the winsock.h header file and there is a line of code ---> typedef unsigned int SOCKET
been defined in the header file.

is there any others possibility which cause this problem ?
  Search through your includes and code for any "strange" uses of "SOCKET".  It is just supposed to be a variable (uint).  But since you are getting linker errors, the compiler thinks that SOCKET is a function or some other block of code.

-=- James.

Linking winsock.lib or wsock32.lib didn't help? All socket symbols are defined there.
Avatar of tsung

ASKER

I have try the same program and same libraries and it work on MSVC 5.0. But how come Borland C can't do it ?
You never know the mysterious ways of compilers/linkers - what they include by default, what they include when they see something's missing, et cetera
This sounds like a serious question. Why don't you increase the points to 50 (at least)?
ASKER CERTIFIED SOLUTION
Avatar of jhjeon
jhjeon

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial