Неразрешенный внешний SHCreateItemFromParsingName, на который ссылается VCL.LIB / Dialogs в C++Builder XE8
У меня есть приложение C++Builder6, и я перевожу его на C++BuilderXE8 через C++Builder2007 в Windows7. Я с успехом скомпилировал на C++Builder2007. Но у меня есть ошибка на C++BuilderXE8:
[Ошибка ILINK32]: Неразрешенный внешний SHCreateItemFromParsingName, на который ссылается C:\PROGRAM FILES\EMBARCADERO\STUDIO\16.0\LIB\WIN32\RELEASE\VCL.LIB|Vcl.Dialogs
Есть идеи?
2 ответа
Одно из решений - если вы не используете VCL - это отредактировать файл проекта и удалить все импортированные файлы vcl.lib.
SHCreateItemFromParsingName()
экспортируется из SHELL32.DLL
, Убедитесь, что вы добавили SHELL32.LIB
(32 бита) или SHELL32.A
(64bit) для вашего проекта. Вы можете найти их в следующих папках вашей установки IDE:
$(BDS)\lib\win32\release\psdk
$(BDS)\lib\win64\release\psdk
Вы можете либо добавить фактический файл.lib/.a в свой проект, либо использовать #pragma comment(lib)
утверждение в вашем коде C++.