程序入口点SHGetKnownFolderPath shell32未找到

时间:2015-11-24 21:29:24

标签: c++ c++11 visual-studio-2013 windows-xp windows-10

我正在使用visual studio 2013并编译一些东西在Windows XP上运行它。它在我的Windows 10机器上运行正常但是当我在XP下启动时我得到错误:

the procedure entry point "SHGetKnownFolderPath" could not be located in the dynamic link library shell32.dll

我的vs-project中的选项设置为XP变体(v120_XP)。我还尝试将_WIN32_WINNT(以及我在互联网上找到的其他定义)设置为XP定义变体(例如_WIN32_WINNT = 0x0501),但没有成功。

我正在使用一些库,这些库都是未编译的v120_XP(例如boost)。

欢迎任何建议让我的项目在Windows XP上运行。

UPDATE:

对不起我的错。甚至所有的图书馆都被迫不使用XP提供的任何东西我错过了一个我自己编译的库正在使用SHGetKnownFolderPath。我通过dumpbin-ing所有库找到它。它是SimConnect.lib,用于Prepar3D。后来我发现:

  

Prepar3D v2不是   与Windows XP兼容,不建议在Windows Vista上使用。

1 个答案:

答案 0 :(得分:2)

XP中不存在

SHGetKnownFolderPath,它仅适用于Vista及以上版本。