Solved

how to compile winsock program ?

Posted on 1998-03-29
10
371 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
Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

 

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

Portable, direct connect server access

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

Suggested Solutions

Title # Comments Views Activity
C++ vs C compilers 13 160
chcp 65001 File encoding 66 279
How to convert utf32 to utf16 using C++ on Ubuntu Linux 15.10 with the gcc c++11 compiler. 4 256
Problem to show menu 5 93
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…
This is a short and sweet, but (hopefully) to the point article. There seems to be some fundamental misunderstanding about the function prototype for the "main" function in C and C++, more specifically what type this function should return. I see so…
The goal of this video is to provide viewers with basic examples to understand recursion 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.

830 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