Solved

how to compile winsock program ?

Posted on 1998-03-29
10
370 Views
Last Modified: 2009-12-16
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 ?
0
Comment
Question by:tsung
10 Comments
 
LVL 1

Expert Comment

by:_Zaphod
ID: 1257898
You need to link wsock32.lib or winsock.lib, depending on your compiler.
0
 

Author Comment

by:tsung
ID: 1257899
How should i make the linkage for the winsock.lib to my program if i'm using the borland c++ 4.5 compiler ?
0
 
LVL 2

Expert Comment

by:kellyjj
ID: 1257900
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.
0
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 

Author Comment

by:tsung
ID: 1257901
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 ?
0
 
LVL 4

Expert Comment

by:jtwine100697
ID: 1257902
  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.

0
 
LVL 1

Expert Comment

by:_Zaphod
ID: 1257903
Linking winsock.lib or wsock32.lib didn't help? All socket symbols are defined there.
0
 

Author Comment

by:tsung
ID: 1257904
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 ?
0
 
LVL 1

Expert Comment

by:_Zaphod
ID: 1257905
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
0
 
LVL 2

Expert Comment

by:Slarti
ID: 1257906
This sounds like a serious question. Why don't you increase the points to 50 (at least)?
0
 

Accepted Solution

by:
jhjeon earned 0 total points
ID: 1257907
do you use 16bit API...?
Borland 4.x Linking is Differ

http://www.goodnet.com/~esnible/winsock.html

"Note that it doesn't matter whose Winsock you are using, the same .LIB file works with all 16 bit programs, and you don't need a .LIB for 32 bit programs. Also note that these versions are a bit more recent than the version in the WINSOCK.HLP normally shipped with BC++.
If you are using Borland C++ 4.0 you got a free WINSOCK.HLP and WINSOCK.H, but no WINSOCK.DLL, so your programs can't link. You can use the provided IMPLIB to make a WINSOCK.LIB from your WINSOCK.DLL."


0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

An Outlet in Cocoa is a persistent reference to a GUI control; it connects a property (a variable) to a control.  For example, it is common to create an Outlet for the text field GUI control and change the text that appears in this field via that Ou…
Windows programmers of the C/C++ variety, how many of you realise that since Window 9x Microsoft has been lying to you about what constitutes Unicode (http://en.wikipedia.org/wiki/Unicode)? They will have you believe that Unicode requires you to use…
The goal of this video is to provide viewers with basic examples to understand how to use strings and some functions related to them in the C programming language.
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use nested-loops in the C programming language.

778 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