【问题标题】:Unresolved external symbol CompleteAuthToken referenced引用了未解析的外部符号 CompleteAuthToken
【发布时间】:2010-09-30 13:39:10
【问题描述】:

在将桌面应用程序移植到 windows mobile 时,我遇到了以下错误:

错误 LNK2019:未解决的外部 中引用的符号 CompleteAuthToken 功能

阅读 MSDN,它告诉我 CompleteAuthToken 在 Windows CE 2.10 及更高版本上受支持,我应该链接到 Secur32.lib,但添加该库并不能修复未解决的符号错误。有什么想法吗?

注意:我使用的是 Visual Studio 2008 + Windows Mobile 6.0 SDK。

【问题讨论】:

  • 将它添加到调试和发布配置中并尝试完全重建? (对不起这个琐碎的问题,但谁知道:))
  • 是的,我已经做到了,还用 dumpbin 查看 secur32.lib 发现这样的符号不存在。

标签: c++ windows-mobile sspi


【解决方案1】:

我认为 MSDN 文档是错误的。查看 Platform Builder 源代码,我看到 CompleteAuthToken() 位于 schannel.def 中,并且它内置在 schannel.lib 中,而不是 secure32.lib 中。看看做出这种改变是否有帮助。

【讨论】:

  • 我已尝试使用 schannel.lib,但 Windows Mobile SDK 6.0 中缺少此库(5.0 中也缺少此库)。
  • 感谢您对“schannel.dll”的提示。 CompleteAuthToken() 实际上是由该库导出的,我可以通过 GetProcAddress() 动态加载它。请注意,整个问题在 Windows CE 7.0 中得到解决。
【解决方案2】:

【讨论】:

  • unresolved externals 意味着缺少定义(忘记包含一个没有为函数提供主体的库,诸如此类)。标头主要提供声明而不是定义。
猜你喜欢
  • 2013-09-13
  • 2016-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-09
相关资源
最近更新 更多