Ошибка модуля Qt - LNK 1112 в QtOpenGL
Я пытаюсь собрать проект (x64), связанный с библиотекой Qt в Microsoft Visual Studio 2010. Проект, который я хочу скомпилировать, был создан с использованием Visual Studio 2008.
Я добавил все зависимости, скачал скомпилированную 64-битную библиотеку Qt и сделал все необходимые изменения в свойствах проекта в VS 2010. Хотя я получаю ошибку ниже:
Error 2616 error LNK1112: module machine type 'X86' conflicts with
target machine type 'x64' D:\project\Windows\QtOpenGL4.lib(QtOpenGL4.dll)
Я проверил мои.dll и.lib файлы, и они в 64-битной версии. Кроме того, мой файл QtOpenGL4.dll находится по другому пути, чем упомянутый в ошибке.
Может ли это быть ошибкой модуля QtOpenGL4? Как я мог решить это? Не могли бы вы мне помочь?
Инструкции, которым я следовал для сборки 64-битной версии Qt, находятся по этой ссылке: https://en.wikibooks.org/wiki/Opticks_Developer_Guide/Getting_Started/Building_Qt_From_Source
2 ответа
Наконец я нашел решение в своей ошибке. Я снова скомпилировал библиотеку Qt в 64-битной версии и ввел все правильные значения в свойствах проекта. Я также вошел в правильный путь в
Свойства проекта -> Компоновщик -> Ввод -> Дополнительные зависимости.
С правильными путями это решило ошибку связи для меня.
Я должен упомянуть, что я также скачал скомпилированные библиотеки из ответов в этой ссылке. Как скомпилировать Qt для 64-битной Windows из 32-битной среды с Visual C++ 2010 Express?
Вы, вероятно, пытаетесь связать свой 64-битный проект с 32-битными библиотеками Qt.
Это говорит больше об ошибке, с которой вы сталкиваетесь.
Точно так же, если вы создадите один модуль с компилятором x64 и другой модуль с компилятором x86 и попытаетесь связать их, компоновщик сгенерирует LNK1112.
Проверьте, используете ли вы 64-битные скомпилированные библиотеки Qt.