我在C ++中发送一个简单的电子邮件。 我从下面的链接下载的样品C ++程序。 http://cboard.cprogramming.com/cplusplus-programming/125655-sending-simple-email-cplusplus.html示例程序似乎砸当编译下面的错误。 请帮我解决。
Error 8 error LNK2019: unresolved external symbol _send_mail referenced in function _wmain
Error 9 error LNK2019: unresolved external symbol __imp__recv@16 referenced in function "int __cdecl connect_to_server(char const *)" (?connect_to_server@@YAHPBD@Z)
Error 10 error LNK2019: unresolved external symbol __imp__connect@12 referenced in function "int __cdecl connect_to_server(char const *)" (?connect_to_server@@YAHPBD@Z)
Error 11 error LNK2019: unresolved external symbol __imp__htons@4 referenced in function "int __cdecl connect_to_server(char const *)" (?connect_to_server@@YAHPBD@Z)
Error 12 error LNK2019: unresolved external symbol __imp__socket@12 referenced in function "int __cdecl connect_to_server(char const *)" (?connect_to_server@@YAHPBD@Z)
Error 13 error LNK2019: unresolved external symbol __imp__getprotobyname@4 referenced in function "int __cdecl connect_to_server(char const *)" (?connect_to_server@@YAHPBD@Z)
Error 14 error LNK2019: unresolved external symbol __imp__gethostbyname@4 referenced in function "int __cdecl connect_to_server(char const *)" (?connect_to_server@@YAHPBD@Z)
我遇到了同样的错误(“LNK2019:解析外部符号......”)。 我的头和电话都正确定义,它不仅未能在调试模式(在Release模式无投诉)链接。 原来,我的问题是由不正确引起的.vcxproj
文件。
当我通过编辑添加新的依赖于我的项目vxcproj
文件,我犯了一个错误:我认为两个部分,不同的文件扩展名是相同的,所以我复制粘贴两行从第一个<ItemGroup>
最后<ItemGroup>
见下文)。
它去忽视了一段时间,因为我用一个批处理脚本编译发布模式的代码。 当我切换到调试模式下,该项目在链接阶段失败。 最终,我发现我的错误,并解决了与以下补丁的问题:
- <ClCompile Include="crypto/crypto.h" />
- <ClCompile Include="crypto/rsa_public_key.h" />
+ <ClInclude Include="crypto/crypto.h" />
+ <ClInclude Include="crypto/rsa_public_key.h" />
巴吉版本的.vcxproj
文件:
<ItemGroup>
...
<ClCompile Include="main.cpp" />
<ClCompile Include="crypto/crypto.cpp" />
<ClCompile Include="crypto/rsa_public_key.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="main.def" />
</ItemGroup>
<ItemGroup>
...
<ClInclude Include="main.h" />
<ClCompile Include="crypto/crypto.h" />
<ClCompile Include="crypto/rsa_public_key.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
底线:当你得到LNK2019并没有在互联网上的帮助说明,请检查您的项目设置。 如果你使用版本控制,比较已知良好的旧版本的当前项目文件。
也许你已经宣布一类的功能,但忘记了使用范围解析运营商在其定义。 ATLEAST这就是给我的错误。
在我而言这是发生因为在一个抽象类中的方法,是虚拟的 ,但没有任何的子类实现。
然而,这可能是唯一的那LNK错误的多个原因之一。
如果你看看错误LNK2019:无法解析的外部似乎问题设置子系统。 你的问题是相关的解析外部符号:错误LNK2019 。
也许你忘了一些源代码文件包含的项目,或者你忘了实施的功能等,让你的编译器不能找到它。 ( “LNK2019:解析外部符号......”)。
上点的两个MSDN页施加其中功能参数为指针,而不是对应于所述模块宽decls变量名传递。
您需要将项目与微软SDK库链接错误涉及插座ODBC和服务器连接
我有这个错误 - 我的问题是,我叫一个不存在的功能。 因此,在Visual Studio会在其他库和DLL此功能。