【问题标题】:Qt - linking an external static lib that uses WinBaseQt - 链接使用 WinBase 的外部静态库
【发布时间】:2014-07-06 16:31:23
【问题描述】:

我正在尝试使用 Qt 5.3.1 构建一个 GUI,并将该链接链接到静态库(使用 VisualStudio 2010 使用 /MD 和 /MDd 构建)。在 QtCreator IDE 中链接时,我从静态库中的这两个函数调用生成了 2 个未解决的外部链接器错误。

这两个(未解析的)函数都在 WinBase.h 中声明。

::InitializeSecurityDescriptor
::SetSecurityDescriptorDacl

让 QtCreator 编译这个库的最简单的解决方案是什么?理想情况下,如果可能的话,我还想链接静态库本身中的任何依赖项。

【问题讨论】:

    标签: windows qt linker


    【解决方案1】:

    正如both functions 的文档所指定的,您必须链接到 advapi32.lib。通常,Windows SDK 的所有函数都在文档末尾的框中指定声明它们的标头、您实际应该包含的标头及其导入库。

    至于其他依赖项,AFAIK 无法知道 - 静态库只是对象模块的集合,仅根据导入的函数指定它们的依赖项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-13
      • 2010-11-03
      • 1970-01-01
      • 1970-01-01
      • 2013-03-12
      相关资源
      最近更新 更多