【问题标题】:libtorrent unresolved externallibtorrent 未解决的外部
【发布时间】:2012-08-14 20:38:40
【问题描述】:

我在编译链接到 libtorrent.lib 的程序时遇到以下错误。我试过用不同的设置编译 libtorrent,我试过启用/禁用 DHT、不推荐使用的功能等。

错误 LNK2019:无法解析的外部符号“void __cdecl libtorrent::rel_performancetimer_pools_nolog_resolvecountries_deprecated_dht_ext_(void)"

这里有没有人熟悉 libtorrent,或者任何人都可以提供任何建议来摆脱这个错误?我没有看到需要链接的任何其他库。

提前致谢。

【问题讨论】:

标签: c++ compilation unresolved-external libtorrent


【解决方案1】:

我花了两天时间,终于发现了一个问题。 此函数的名称“void rel_performancetimer_pools_nolog_resolvecountries_deprecated_dht_ext_”由描述您当前偏好的部分组成。例如,dht_ 表示您正在使用 DHT,nolog_ 表示您已关闭 TORRENT_LOGGING 指令。 问题是:此设置仅适用于发布配置! rel_ 表示 release_。在 libtorrent 0.16.11 上这个问题仍然没有解决。 我已将此文本放在文件 build_config.hpp 的第 40 行:

#ifdef _DEBUG
#define TORRENT_DEBUG
#endif

这是在发布和调试配置中使用 libtorrent 编译我的项目的方法,无需进行任何更正。 请 Arvid 将这 3 行包含到您的下一个版本的 libtorrent 中。 赞赏, 来自俄罗斯的伊利亚。

【讨论】:

  • Arvid 忘记支付 DNS 名称注册费用。
  • 我在里面添加了一个附加条件:#ifndef TORRENT_DEBUG... 这可以避免编译器在构建库时在命令行中指定重定义 TORRENT_DEBUG 的警告。
【解决方案2】:

问题是我在项目中的定义与 libtorrent 编译中的配置/定义不一致,所以一些宏调用了一个不存在的函数。

【讨论】:

    猜你喜欢
    • 2017-07-09
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多