Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

I can't compile in Visual Studio 2010

I always have so many problems compiling programs in Visual Studio 2010. I apologize for my greenness. I am getting LNK errors and am not sure what it causing them. I'm hoping someone might be able to spot something from the build log. Probably something silly ...

Build started 4/8/2012 3:22:37 PM.
 1>Project "c:\Users\Donald\documents\visual studio 2010\Projects\ClientServer\myClient\myClient.vcxproj" on node 2 (build target(s)).
 1>InitializeBuildStatus:
     Touching "Debug\myClient.unsuccessfulbuild".
   ClCompile:
     c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /ZI /nologo /W3 /WX- /Od /Oy- /D WIN32 /D _DEBUG /D _CONSOLE /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Debug\\" /Fd"Debug\vc100.pdb" /Gd /TP /analyze- /errorReport:prompt mySocket.cpp
     mySocket.cpp
 1>c:\users\donald\documents\visual studio 2010\projects\clientserver\myclient\mysocket.cpp(1191): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
             c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(371) : see declaration of 'sprintf'
   ManifestResourceCompile:
     C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\rc.exe /nologo /fo"Debug\myClient.exe.embed.manifest.res" Debug\myClient_manifest.rc 
   Link:
     c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"c:\users\donald\documents\visual studio 2010\Projects\ClientServer\Debug\myClient.exe" /INCREMENTAL /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /ManifestFile:"Debug\myClient.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"c:\users\donald\documents\visual studio 2010\Projects\ClientServer\Debug\myClient.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"c:\users\donald\documents\visual studio 2010\Projects\ClientServer\Debug\myClient.lib" /MACHINE:X86 Debug\myClient.exe.embed.manifest.res
     Debug\myClient.obj
     Debug\myException.obj
     Debug\myHostInfo.obj
     Debug\myLog.obj
     Debug\mySocket.obj
     Debug\stdafx.obj
 1>myClient.obj : error LNK2019: unresolved external symbol __imp__inet_ntoa@4 referenced in function "public: char * __thiscall myHostInfo::getHostIPAddress(void)" (?getHostIPAddress@myHostInfo@@QAEPADXZ)
 1>mySocket.obj : error LNK2001: unresolved external symbol __imp__inet_ntoa@4
 1>myHostInfo.obj : error LNK2019: unresolved external symbol __imp__gethostbyname@4 referenced in function "public: __thiscall myHostInfo::myHostInfo(void)" (??0myHostInfo@@QAE@XZ)
 1>myHostInfo.obj : error LNK2019: unresolved external symbol __imp__gethostname@8 referenced in function "public: __thiscall myHostInfo::myHostInfo(void)" (??0myHostInfo@@QAE@XZ)
 1>myHostInfo.obj : error LNK2019: unresolved external symbol __imp__gethostbyaddr@12 referenced in function "public: __thiscall myHostInfo::myHostInfo(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,enum hostType)" (??0myHostInfo@@QAE@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4hostType@@@Z)
 1>myHostInfo.obj : error LNK2019: unresolved external symbol __imp__inet_addr@4 referenced in function "public: __thiscall myHostInfo::myHostInfo(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,enum hostType)" (??0myHostInfo@@QAE@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4hostType@@@Z)
 1>mySocket.obj : error LNK2001: unresolved external symbol __imp__inet_addr@4
 1>myHostInfo.obj : error LNK2019: unresolved external symbol __imp__WSAGetLastError@0 referenced in function "private: void __thiscall myHostInfo::detectErrorGethostbyname(int *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (?detectErrorGethostbyname@myHostInfo@@AAEXPAHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
 1>mySocket.obj : error LNK2001: unresolved external symbol __imp__WSAGetLastError@0
 1>mySocket.obj : error LNK2019: unresolved external symbol __imp__htons@4 referenced in function __catch$??0mySocket@@QAE@H@Z$0
 1>mySocket.obj : error LNK2019: unresolved external symbol __imp__htonl@4 referenced in function __catch$??0mySocket@@QAE@H@Z$0
 1>mySocket.obj : error LNK2019: unresolved external symbol __imp__socket@12 referenced in function "public: __thiscall mySocket::mySocket(int)" (??0mySocket@@QAE@H@Z)
 1>mySocket.obj : error LNK2019: unresolved external symbol __imp__closesocket@4 referenced in function "public: virtual __thiscall mySocket::~mySocket(void)" (??1mySocket@@UAE@XZ)
 1>mySocket.obj : error LNK2019: unresolved external symbol __imp__setsockopt@20 referenced in function "public: void __thiscall mySocket::setDebug(int)" (?setDebug@mySocket@@QAEXH@Z)
 1>mySocket.obj : error LNK2019: unresolved external symbol __imp__ioctlsocket@12 referenced in function "public: void __thiscall mySocket::setSocketBlocking(int)" (?setSocketBlocking@mySocket@@QAEXH@Z)
 1>mySocket.obj : error LNK2019: unresolved external symbol __imp__getsockopt@20 referenced in function "public: int __thiscall mySocket::getDebug(void)" (?getDebug@mySocket@@QAEHXZ)
 1>mySocket.obj : error LNK2019: unresolved external symbol __imp__WSACleanup@0 referenced in function "public: virtual __thiscall myTcpSocket::~myTcpSocket(void)" (??1myTcpSocket@@UAE@XZ)
 1>mySocket.obj : error LNK2019: unresolved external symbol __imp__WSAStartup@8 referenced in function "public: static void __cdecl myTcpSocket::initialize(void)" (?initialize@myTcpSocket@@SAXXZ)
 1>mySocket.obj : error LNK2019: unresolved external symbol __imp__bind@12 referenced in function "public: void __thiscall myTcpSocket::bindSocket(void)" (?bindSocket@myTcpSocket@@QAEXXZ)
 1>mySocket.obj : error LNK2019: unresolved external symbol __imp__connect@12 referenced in function "public: virtual void __thiscall myTcpSocket::connectToServer(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,enum hostType)" (?connectToServer@myTcpSocket@@UAEXAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4hostType@@@Z)
 1>mySocket.obj : error LNK2019: unresolved external symbol __imp__accept@12 referenced in function "public: class myTcpSocket * __thiscall myTcpSocket::acceptClient(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (?acceptClient@myTcpSocket@@QAEPAV1@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
 1>mySocket.obj : error LNK2019: unresolved external symbol __imp__listen@8 referenced in function "public: void __thiscall myTcpSocket::listenToClient(int)" (?listenToClient@myTcpSocket@@QAEXH@Z)
 1>mySocket.obj : error LNK2019: unresolved external symbol __imp__send@16 referenced in function "public: int __thiscall myTcpSocket::sendMessage(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (?sendMessage@myTcpSocket@@QAEHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
 1>mySocket.obj : error LNK2019: unresolved external symbol __imp__recv@16 referenced in function "private: int __thiscall myTcpSocket::XPrecieveMessage(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (?XPrecieveMessage@myTcpSocket@@AAEHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
 1>c:\users\donald\documents\visual studio 2010\Projects\ClientServer\Debug\myClient.exe : fatal error LNK1120: 21 unresolved externals
 1>Done Building Project "c:\Users\Donald\documents\visual studio 2010\Projects\ClientServer\myClient\myClient.vcxproj" (build target(s)) -- FAILED.

Build FAILED.

Time Elapsed 00:00:03.54

Any help would be appreciated. The code has been compiled fine before.

like image 300
DonaldH Avatar asked Apr 08 '12 23:04

DonaldH


1 Answers

The errors posted above say, that linker cannot found symbols included in Ws2_32 library, which contains network-related functions.

To add this library to linker parameters:

  1. Open the project's Property Pages dialog box. For details, see Setting Visual C++ Project Properties.
  2. Click the Linker folder.
  3. Click the Input property page.
  4. Modify the Additional Dependencies property and add Ws2_32.lib
like image 118
Rafał Rawicki Avatar answered Sep 22 '22 01:09

Rafał Rawicki