如何将 DLL 链接到我的项目?错误 LNK2019:无法解析的外部符号

2024-01-23

我有一个文件foo.h有各种函数声明。所有这些功能都在一个文件中实现foo.dll。但是,当我包含 .h 文件并尝试使用任何函数时,我收到错误:

bar.obj : error LNK2019: unresolved external symbol SomeFunction

所以显然没有找到函数实现。

我需要做什么才能帮助编译器找到 DLL 中的定义并将它们与 .h 文件关联起来?

我看过一些关于__declspec(dllexport) and __declspec(dllimport)但我仍然不知道如何使用它们。


您应该至少收到three来自 DLL 所有者的文件。您在运行时需要的 DLL、带有导出函数声明的 .h 文件,您已经拥有了。还有一个 .lib 文件,即 DLL 的导入库。链接器需要它,以便知道如何将函数添加到程序的导入表中。

您缺少告诉链接器需要链接 .lib 文件的步骤。需要将其添加到项目的链接器的“输入+附加依赖项”设置中。或者最容易通过在源代码中编写链接器指令来完成:

#include "foo.h"
#pragma comment(lib, "foo.lib")

这适用于 MSVC,否则不可移植,但链接永远不会。将 .lib 文件复制到项目目录或指定完整路径。

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

如何将 DLL 链接到我的项目?错误 LNK2019:无法解析的外部符号 的相关文章

随机推荐

  • 在 Swift 3 中格式化数字

    我想将数字格式设置为 123234234234 中的 123 234 234 234 取决于用户在文本字段中输入的内容 我不想管理货币 这与货币无关 而是用户必须输入一个数字 并且该数字的格式应该正确以便于阅读 不是用逗号 而是用点 我在整
  • 学习一种 Lisp 有助于学习另一种 Lisp 吗?

    学习不同的 Lisp 语言之间有协同作用吗 我目前正在学习 Emacs Lisp 因为它在我的日常 Emacs 使用中立即有用 但是我对所有 Lisp 都很着迷 所以也许有一天我会学习和使用其他语言 当我开始深入研究 Common Lisp
  • 组合 Spark Dataframe 中链接在一起的行

    我有一个数据框 其行通过各种合并相互连接 到目前为止 我已经将 DF 转换为下面的格式 我在其中执行了 groupBy Merge To 并将它们收集到一个数组中 然后将其连接回我的原始 DF 看起来像这样 df1 Ref Merge To
  • Android IAB:“刷新库存时出错(查询商品价格)”开发者错误

    我一直在应用程序计费 v3 中设置 Android 使用IABHelper类 并遵循示例代码 http developer android com training in app billing index html由谷歌提供 我在购买过程
  • .NET TimeZone.CurrentTimeZone.GetDaylightChanges 返回错误的 2005 年 DST

    我使用以下代码显示 2005 年至 2035 年之间的夏令时 2005 年 这page http www timeanddate com time dst 2005 html显示 DST 为 4 月 3 日至 10 月 30 日之间 但 G
  • iOS 7,使用默认的 InteractivePopGestureRecognizer 快速向后滑动时损坏 UINavigationBar

    我有一个问题一直困扰着 但我不知道为什么会发生 如果我将细节控制器推入堆栈 然后使用默认左边缘快速向后滑动interactivePopGestureRecognizer 我的父 根视图控制器的UINavigationBar看起来损坏了或者什
  • Android 视频多次播放后停止播放错误 1、2147483648

    好吧 这有点令人沮丧 我已经搜索了 Stack 但似乎没有一个答案有帮助 我有一个 Android 应用程序 可以循环显示屏幕上的不同内容 在某一时刻 它会播放一个视频 同一个视频 从同一个位置加载 经过随机次数的播放后 它决定停止播放视频
  • MPMoviePlayerController - 加载电影时捕获网络错误

    有没有办法捕获异常 特别是网络错误 没有可用的连接 当使用 MPMoviePlayerController 时 我特别担心一旦播放器的实例被初始化initWithURL 您无法知道电影加载是否由于某种原因失败 我已经查看了可用的文档并意识到
  • SwiftUI LazyHGrid 动态行之间的空间

    您能否建议如何在网格中拥有动态的行数 我有 5 个单词 这些单词的宽度可能不同 这个想法是让它们彼此相邻显示 如果没有足够的空间 gt 移动到下一行 我目前正在使用这个 var rows GridItem init adaptive min
  • 为什么 JavaScript 的 getElementsByClassName 提供一个不是数组的对象?

    我正在尝试使用 JavaScript 不使用 jQuery 获取页面上具有特定类名的所有元素的列表 因此 我使用 getElementsByClassName 函数 如下所示 var expand buttons document getE
  • 使用 clang API 打印参数的类型 (ParmVarDecl)

    我需要使用 clang API 打印 C 源文件中参数的类型 如果我有 clang 中的参数表示 ParmVarDecl param 我可以使用打印参数的名称param gt getNameAsString 我需要一个方法param gt
  • 如何向 boto (Amazon S3) 中的密钥添加标签?

    我正在尝试标记已上传到 S3 的密钥 在下面的内容中 我只是从字符串创建一个文件 一旦我有了密钥 我不知道如何标记文件 我尝试过 Tag 和 TagSet from boto s3 bucket import Bucket from bot
  • PHP 将所有对象属性复制到此

    我有一个 PHP 类型的对象MyObject myObject instanceof MyObject 现在 在class MyObject 有一个非静态函数 在那里 我使用对 我 的引用 例如 this 但我那里还有另一个对象 是否有可能
  • 使用 mod_rewrite 进行语言重定向

    我有一个提供 7 种语言版本的网站 我希望仅当用户访问主页时才能根据浏览器语言重定向用户 这是为了增加有机流量的可用性 我需要此重定向仅适用于主页 因为该网站还会发送特定于每种语言的邮件 如果用户被重定向 它们将不起作用 此外 每种语言都是
  • 如何让长按电源键拒绝关机?

    在大多数较新的计算机上 您可以通过按住电源按钮几秒钟来硬关闭 但我想完全阻止这种情况发生 您可以阻止一些软事件 例如 Windows 控制面板中的睡眠 挂起 休眠和 按电源按钮 事件 您还可以使用一些 Win32 和 WDI 编程来捕获和处
  • __init__() 得到意外的关键字参数 'y'

    我正在阅读 绝对初学者的 Python 编程 一书 并决定通过制作自己的游戏来测试我的一些技能 这个游戏基本上是 不要被飞行的尖刺击中 我遇到了一个问题 使用此代码运行时 class Player games Sprite The play
  • Manifest 文件的用途是什么

    https docs oracle com javase tutorial deployment jar manifestindex html https docs oracle com javase tutorial deployment
  • 枚举所有打开的连接

    是否可以使用 NET枚举当前进程的所有打开的连接 与 netstat 工具执行此操作的方式类似 您可以使用IPGlobalProperties http msdn microsoft com en us library system net
  • 验证 React Native 中的 Style 属性类型

    我有一个组件 它的属性包含子组件的西林 我想确保propTypes正确验证它的类型 我可以从 React Native 代码中得知它有一个ViewStylePropTypes https github com facebook react
  • 如何将 DLL 链接到我的项目?错误 LNK2019:无法解析的外部符号

    我有一个文件foo h有各种函数声明 所有这些功能都在一个文件中实现foo dll 但是 当我包含 h 文件并尝试使用任何函数时 我收到错误 bar obj error LNK2019 unresolved external symbol