我有一个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
有什么想法吗?
答案 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导入。