【发布时间】:2017-03-04 17:08:05
【问题描述】:
我正在使用 LunarG SDK。我在 Lib 目录中找到 VKstatic.1.lib。当使用该 lib 而不是 vulkan-1.lib 链接时,我收到以下链接器错误:
VKstatic.1.lib(loader.obj):错误 LNK2019:未解析的外部符号 __imp_PathIsRelativeA 在函数 loader_platform_is_path_absolute 中引用
使用 VS2013 和 VS2015,64bit 项目。
我看到PathIsRelativeA来自Windows SDK。我将Linker->System设置为Windows (/SUBSYSTEM:WINDOWS),但它并没有解决错误。
静态链接是否需要一些预处理器标志?我还没有找到任何关于如何静态链接 Vulkan 的文档。
更新:
根据 Richard Critten 的建议,添加了 Shlwapi.lib。这解决了 v120 编译器的链接器错误,但为 v140 带来了更多错误。
【问题讨论】:
-
@RichardCritten 它解决了 VS2013 的问题,但为 VS2015 抛出了一堆新错误。可能他们的静态库是用 V120 编译器构建的。 ://
-
这是什么新错误?
-
使用由不同编译器版本创建的预构建静态库可能会出现问题。即使具有不同编译器/链接器标志的相同编译器也可能存在问题。最好的解决方法是从源代码构建库。
-
对我来说,我不得不使用“Shlwapi.lib”。小写 s 失败。