• C

Network Programming

I m writing a TCP/IP network program using C on MS Visual C++ 5.0 on a WinNT platform . I get LNK2001 error whenever i link my files ... any ideas ?
SkyWolfAsked:
Who is Participating?
 
stsanzCommented:
If you use TCP/IP functions, you have to declare winsock library in your Visual C++ project.
Go to menu Project/Settings..., click on "link" tab and add wsock32.lib and ws2_32.lib in "Object/Library modules" edit box.

Your program should now link correctly.
Otherwise, tell us what is the full LNK2001 error message.


0
 
billyhCommented:
I usually get that error when I have defined a method in one of my classes and then forgetting to implement it in my defination file. Other causes of this error are using the wrong case when implementing a method, remember C is case-sensitive.
0
 
SkyWolfAuthor Commented:
Now that u added both lib to the Object/Library i got these errors ....

LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/alarmman.exe : fatal error LNK1120: 1 unresolved externals

0
Managing Security Policy in a Changing Environment

The enterprise network environment is evolving rapidly as companies extend their physical data centers to embrace cloud computing and software-defined networking. This new reality means that the challenge of managing the security policy is much more dynamic and complex.

 
SkyWolfAuthor Commented:
sorry ...typo...i mean now that i added the lib into Object/Library ...
0
 
stsanzCommented:
Is your program a console program (with a main() function) or a windows program (with a WinMain() function)

Do you have a main or WinMain function ?
Does the same link error message appear if you compile to Release configuration, instead of Debug ?


0
 
SkyWolfAuthor Commented:
I am using a main() ... I still get the error if the output file is to Release .....
0
 
stsanzCommented:
If you want to create a windows program you have to replace your main() function by the WinMain() function :

int APIENTRY WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
  {
  // Do the startup stuff

  return 0 ;
  }

Instead, if you want to create an old-fashioned "DOS" program and use main() function, you have to select "Win32 Console Application" when you create a new project in Visual C++

0
 
SkyWolfAuthor Commented:
erm...i hav a qs though , is it that , if i use socket tp pass data, i am ACTUALLY not implementing TCP/IP ?
0
 
stsanzCommented:
Sorry I can't understand your question. Do you mean you want to know if your program implements a TCP/IP protocol when it uses socket layers functions ? Can you please ask your question again ?



0
 
SkyWolfAuthor Commented:
"whack" me if I am wrong here *smile* ..TCP/IP is a connectionless protocol which  doesnt use the bind() functional call ? so the standard procedures of creating a socket(),recv(),send() is as usual ?
0
 
stsanzCommented:
I don't know how to use socket functions. You should create a new question on "C language" home page about it.

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.