如何解决错误 LNK2019

2023-11-25

我正在用 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:无法解析的外部符号......”)。我的标头和调用定义正确,并且仅在调试模式下无法链接(在发布模式下没有抱怨)。事实证明我的问题是由错误引起的.vcxproj file.

当我通过编辑添加新的依赖项到我的项目时vxcproj文件中,我犯了一个错误:我认为除了文件扩展名之外,这两个部分是相同的,所以我从第一部分复制粘贴了两行<ItemGroup>到最后<ItemGroup>(见下文)。

它有一段时间没有被注意到,因为我使用了批处理脚本来编译代码Release模式。当我切换到Debug模式下,项目在链接阶段失败。最终,我发现了我的错误,并通过以下补丁解决了问题:

-    <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 file:

  <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 并且互联网上的任何解释都没有帮助时,请检查您的项目设置。如果您使用版本控制,请将当前项目文件与已知良好的旧版本进行比较。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决错误 LNK2019 的相关文章

随机推荐

  • 自动释放对象两次

    NSString str NSString alloc init autorelease autorelease str hii NSLog str 任何人都可以帮我讲述这段代码 自动释放对象两次将会发生什么 当我运行代码时 我没有得到任何
  • Python 将字符串转换为字节

    我正在尝试执行一些串行输入和输出操作 其中之一是将 8x8 数组发送到外部设备 Arduino 这pySerial库要求我发送的信息是一个字节 然而 在我的 python 代码中 8x8 矩阵由类型组成
  • 使用 XSL 从 CDATA 转换 XML

    我有这个 XML 文档
  • 无法使用 PHP 在 MYSQL 数据库中存储阿拉伯语

    过去几个小时我一直在尝试寻找解决方案 但未能成功 我已经尝试了互联网和这个论坛上的所有可能的解决方案 但似乎没有任何效果 问题就在这里 我想存储用户将在 mysql 数据库中表单的文本区域中键入或粘贴的阿拉伯语数据 该网站是阿拉伯语的 表单
  • iOS 7 模拟器 Bug - NSAttributedString 不出现

    更新 我刚刚在运行 iOS 7 的实际 iPhone 5 上遇到了这个问题 很快就会提供更多信息 我想我在 iOS 7 模拟器中发现了一个错误 其中不出现 NSAttributedString 如果其他人可以对此进行测试以确认它是一个错误
  • 不使用 kubectl cp 将文件复制到 kubernetes pod 中

    我有一个用例 我的 pod 以非 root 用户身份运行 并运行一个 python 应用程序 现在我想将文件从主节点复制到正在运行的 pod 但当我尝试跑步时 kubectl cp app py 103000 pras dev simple
  • 强制 iOS 视图不旋转,同时仍允许子视图旋转

    我有一个带有子视图控制器的视图控制器 tab bar controller nav controller UIPageViewController should rotate A Video Player shouldn t rotate
  • 在 Eclipse 上通过 gradle 设置 Kotlin

    努力让 Kotlin 在 Eclipse 上运行 我已经开始了新的 gradle 项目 按照 kotlin 站点上的规定添加依赖项 构建过程没有错误 我在 src java main 下创建了 main kt 文件 fun main arg
  • 独立于操作系统的剪贴板在 C 中复制/粘贴文本

    我正在开发一个项目 该项目应该在 Windows 和 Linux 上运行 也有非官方的 Mac 端口 模拟真彩色系统控制台 我的问题是 最近出现了对文本字段支持的请求 是的 基于控制台 并且添加将文本复制到剪贴板并从中粘贴的可能性会很酷 有
  • NDK 如何在发布时删除 Log Debug 语句

    我知道使用 proguard 您可以从发行版本中删除 java Log d 调试语句https stackoverflow com a 13327603 1527440 但是有没有办法从 NDK C C 代码中删除日志调试语句 我正在使用定
  • 接口和类实现接口的 PhpDoc - 区别 [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 问题很简单 我应该如何区分接口和类实现接口的 phpdoc 它们应该 可以相同 或者接口文档应该尽可能通用 而实现该接口的类应该更具体 我在真实代码中包含了一种方法 phpDoc 我的界面
  • 查询 dbo.sysobjects 的权限

    我有以下查询来检查我的 SQL 数据库中是否有任何用户定义的对象 DECLARE testForEmpty BIT if exists select top 1 null from dbo sysobjects where objectpr
  • 我的 jar 是用什么版本的 javac 构建的?

    我如何知道构建 jar 时使用的是哪个版本的 Java 编译器 我有一个 jar 文件 它可以在三个 JDK 中的任何一个中构建 我们需要确切地知道是哪一个 以便我们可以证明兼容性 编译器版本是否嵌入在类文件或 jar 中的某个位置 A j
  • 如何将对象集合绑定到 Winforms 中的 DataGridView

    如果我有两个对象 即Fruit andColor 及其定义如下 public class Fruit public int FruitId get set public string Name get set public Color Co
  • 哪些 dbus 性能问题会阻止其在嵌入式系统中使用?

    根据我的阅读 由于守护进程的存在 dbus 性能应该比其他消息传递 ipc 机制慢两倍 在so问题的讨论中使用哪种 Linux IPC 技术有人提到性能问题 除了速度慢一倍之外 您是否还发现了性能问题 您是否看到了阻碍我们在嵌入式系统中使用
  • 如何根据意图强制重新启动活动

    My MainActivity有lauchMode singleTask 现在我想从具有特殊意图数据的通知启动活动 在MainActivity onResume我访问给定的意图数据 问题是 当活动已经存在时 我单击通知 活动进入前台 但是该
  • 在 Google Sheets 自定义函数中抛出自定义异常和错误消息?

    In 谷歌表格 与Excel等 如果用户在公式中输入错误的输入 错误代码将打印在有问题的单元格中 并且一个小弹出窗口提供有关错误的更多详细信息 所以如果我输入 SQRT 1 NUM 打印在单元格中 并且弹出窗口解释该值需要等于或大于 0 如
  • 使用 RestKit 进行外键关系映射

    我对 RestKit 完全陌生 并且有些挣扎 JSON teams id 1 name Team A id 2 name Team B users id 1 name cameron teamId 1 id 2 name
  • 如何在jq中添加索引

    我想使用 jq 映射我的输入 a b 输出 name a index 0 name b index 1 我已经到达 0 as i def incr i i 1 name index incr 其输出 name a index 1 name
  • 如何解决错误 LNK2019

    我正在用 C 发送一封简单的电子邮件 我从下面的链接下载了一个示例 C 程序 http cboard cprogramming com cplusplus programming 125655 sending simple email cp