未解析的外部SHCreateItemFromParsingName在C ++ Builder XE8上引用了VCL.LIB / Dialogs

时间:2015-07-02 09:34:47

标签: vcl c++builder-xe8

我有一个C ++ Builder6的应用程序,我在Windows7上通过C ++ Builder2007将它迁移到C ++ BuilderXE8。 我在C ++ Builder2007上成功编译。 但我在C ++ BuilderXE8上有一个错误:

  

[ILINK32错误]错误:外部未解析   ' SHCreateItemFromParsingName'从C:\ PROGRAM引用   FILES \ EMBARCADERO \ STUDIO \ 16.0 \ LIB \ WIN32 \ RELEASE \ VCL.LIB | Vcl.Dialogs

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

SHCreateItemFromParsingName()SHELL32.DLL导出。确保已将SHELL32.LIB(32位)或SHELL32.A(64位)添加到项目中。您可以在IDE安装的以下文件夹中找到它们:

$(BDS)\lib\win32\release\psdk
$(BDS)\lib\win64\release\psdk

您可以将实际的.lib / .a文件添加到项目中,也可以在C ++代码中使用#pragma comment(lib)语句。

答案 1 :(得分:0)

一个解决方案 - 如果您不使用VCL - 是编辑项目文件并删除所有vcl.lib导入。