错误LNK2019:函数“枚举nfdresult_t __cdecl SetDefaultPath”中引用的未解析的外部符号__imp_SHCreateItemFromParsingName

时间:2019-03-21 02:02:49

标签: rust sdl-2 msvcrt

我在Windows 10计算机上构建Pathfinder 3的演示时遇到问题。

我知道其他人已经能够在Windows 10上运行该演示,因此这是可能的。但是,我遇到了很难解决的问题。

我克隆了该存储库,并注释了对jemalloc的单个引用(该引用不针对Win10)。

要设置SDL2,我按照Rust SDL2自述文件的标题Windows (MSVC)下的说明进行操作。

要运行该演示,在切换到demo/native目录之后,我将通过powershell使用以下命令:

$env:RUSTFLAGS += "-C target-cpu=native"

cargo run --release

如果我在.multirust/toolchains/stable-x86_64-pc-windows-msvc/lib/rustlib/x86_64-pc-windows-msvc下没有SDL2 lib文件,那么我会收到一条错误消息,提示找不到* .lib文件:

  

严重错误LNK1181:无法打开输入文件'SDL2.lib'

将* .lib文件放入该文件夹可解决此问题。

如果将SDL2.dll文件放在主pathfinder文件夹中,则会出现错误:

  

错误LNK2019:函数“枚举nfdresult_t __cdecl SetDefaultPath(struct IFileDialog *,char const *)”中引用的未解析的外部符号__imp_SHCreateItemFromParsingName

如果将SDL2.dll放在demo/native文件夹中,则会收到与上述相同的错误。

我尝试使用VS2015和VS2017的开发人员命令提示符,但是没有运气。特别是,当尝试使用这些提示进行构建时,我无法使用建议的RUSTFLAGS,因此省略了它们。

我也尝试使用git bash,但是标题中出现了相同的错误。我接下来可以尝试什么?

0 个答案:

没有答案