2012-04-08 189 views
6

我在编译Visual Studio 2010中的程序时总是遇到很多问题。我为我的绿色道歉。我收到LNK错误,我不知道它是什么造成的。我希望有人能够从构建日志中发现一些东西。可能有点愚蠢......我无法在Visual Studio 2010中编译

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 [email protected] referenced in function "public: char * __thiscall myHostInfo::getHostIPAddress(void)" ([email protected]@@QAEPADXZ) 
1>mySocket.obj : error LNK2001: unresolved external symbol [email protected] 
1>myHostInfo.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: __thiscall myHostInfo::myHostInfo(void)" ([email protected]@[email protected]) 
1>myHostInfo.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: __thiscall myHostInfo::myHostInfo(void)" ([email protected]@[email protected]) 
1>myHostInfo.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: __thiscall myHostInfo::myHostInfo(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,enum hostType)" ([email protected]@[email protected][email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) 
1>myHostInfo.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: __thiscall myHostInfo::myHostInfo(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,enum hostType)" ([email protected]@[email protected][email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) 
1>mySocket.obj : error LNK2001: unresolved external symbol [email protected] 
1>myHostInfo.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "private: void __thiscall myHostInfo::detectErrorGethostbyname(int *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" ([email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) 
1>mySocket.obj : error LNK2001: unresolved external symbol [email protected] 
1>mySocket.obj : error LNK2019: unresolved external symbol [email protected] referenced in function [email protected]@[email protected]@Z$0 
1>mySocket.obj : error LNK2019: unresolved external symbol [email protected] referenced in function [email protected]@[email protected]@Z$0 
1>mySocket.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: __thiscall mySocket::mySocket(int)" ([email protected]@[email protected]@Z) 
1>mySocket.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: virtual __thiscall mySocket::~mySocket(void)" ([email protected]@[email protected]) 
1>mySocket.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: void __thiscall mySocket::setDebug(int)" ([email protected]@@[email protected]) 
1>mySocket.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: void __thiscall mySocket::setSocketBlocking(int)" ([email protected]@@[email protected]) 
1>mySocket.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: int __thiscall mySocket::getDebug(void)" ([email protected]@@QAEHXZ) 
1>mySocket.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: virtual __thiscall myTcpSocket::~myTcpSocket(void)" ([email protected]@[email protected]) 
1>mySocket.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: static void __cdecl myTcpSocket::initialize(void)" ([email protected]@@SAXXZ) 
1>mySocket.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: void __thiscall myTcpSocket::bindSocket(void)" ([email protected]@@QAEXXZ) 
1>mySocket.obj : error LNK2019: unresolved external symbol [email protected] 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)" ([email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) 
1>mySocket.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: class myTcpSocket * __thiscall myTcpSocket::acceptClient(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" ([email protected]@@[email protected][email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) 
1>mySocket.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: void __thiscall myTcpSocket::listenToClient(int)" ([email protected]@@[email protected]) 
1>mySocket.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: int __thiscall myTcpSocket::sendMessage(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" ([email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) 
1>mySocket.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "private: int __thiscall myTcpSocket::XPrecieveMessage(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" ([email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@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 

任何帮助,将不胜感激。代码之前已经编好了。

+3

这是一个复杂的程序入手;先尝试构建一个像Hello World例子那样简单的东西,然后看看它是否有效。 – sarnold 2012-04-08 23:16:30

+3

看来你至少缺少一个图书馆。谷歌回答我的'gethostbyname'问题是一个MSDN页面暗示这个库'Ws2_32.lib'。尝试将其添加到您的项目选项,直接或通过包括'winsock2.h' – DaClown 2012-04-08 23:19:03

+0

@sarnold啊是的,我很好过去那一点。你好世界的作品:)我会试试DaClown – DonaldH 2012-04-08 23:22:47

回答

15

上面发布的错误说,该链接器找不到包含在Ws2_32库中的符号,其中包含与网络相关的函数。

对此库添加到链接器参数:

  1. 打开项目的属性页对话框。有关详细信息,请参阅设置Visual C++项目属性。
  2. 单击链接器文件夹。
  3. 单击输入属性页面。
  4. 修改附加依赖属性,并添加WS2_32.LIB
+0

优秀的回应。我尝试谷歌的LNK代码,但我会更详尽的下一次我搜索谷歌错误的细节。非常感谢您的回复。另外@DaClown – DonaldH 2012-04-09 18:23:54

+1

我很高兴我能帮上忙。 – DaClown 2012-04-09 18:59:48

相关问题