Доброго времени суток, пытаюсь сделать отложенную загрузку одной сторонней библиотеки, делаю вот так:
CONFIG(release, debug|release) {
QMAKE_LFLAGS_RELEASE += /DELAYLOAD:someLib-1.dll
} else:CONFIG(debug, debug|release) {
QMAKE_LFLAGS_DEBUG += /DELAYLOAD:someLib-1.dll
}
Появляется такая вот ошибка:
someLib-1.lib(someLib-1.dll):-1: ошибка: LNK2001: unresolved external symbol ___delayLoadHelper2@8
Файл не найден:someLib-1.lib(someLib-1.dll)
Если указываю к примеру полный путь к библиотеке(или вообще любой другой путь, пускай даже не существующий):
CONFIG(release, debug|release) {
QMAKE_LFLAGS_RELEASE += /DELAYLOAD:D:\some3RDSource\bin\someLib-1.dll
} else:CONFIG(debug, debug|release) {
QMAKE_LFLAGS_DEBUG += /DELAYLOAD:D:\some3RDSource\bin\someLib-1.dll
}
то получаю такую ошибку:
:-1: предупреждение: LNK4199: /DELAYLOAD:D:\some3RDSource\bin\someLib-1.dll ignored; no imports found from D:\some3RDSource\bin\someLib-1.dll
Прочитав про ошибку
LNK2001: unresolved external symbol ___delayLoadHelper2 натолкнула на мысль: сама библиотека скомпилирована в VC9, текущий проект под VC12 - может в этом проблема? Как тогда это решить не имея возможности перекомпилировать саму библиотеку и без даунгрейда компилятора проекта(слишком много в самом проекте С++11,C++14 кода)?