Russian Qt Forum
Март 29, 2024, 01:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: /DELAYLOAD проблемы.  (Прочитано 3256 раз)
MaxoBik
Гость
« : Июнь 08, 2015, 18:24 »

Доброго времени суток, пытаюсь сделать отложенную загрузку одной сторонней библиотеки, делаю вот так:
Код:
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 кода)?

Записан
MaxoBik
Гость
« Ответ #1 : Июнь 08, 2015, 23:11 »

Если кому пригодится на будущее - в общем проблема действительно оказалась в разных версиях компилятора, нашел эту же библиотеку в VC10, заменил и проблема пропала.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.053 секунд. Запросов: 20.