Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Использование Qt в VS2013

Автор вопроса: VictorОтветов: 2

Недавно я открыл для себя Qt 5.2, и он выглядит довольно хорошо для меня, хотя у меня есть проблема: я хочу использовать его в Visual Studio 2013. Я скачал Надстройка Visual Studio 1.2.3 Alpha для Qt5 с официального сайта Qt.

Я создал проект в своем решении Visual Studio 2013 (Qt Application), и когда я пытаюсь его скомпилировать,

Error   3   error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1800' in moc_graphicalui.obj E:\Applications\SizeWrite\GraphicalUI\qtmaind.lib(qtmain_win.obj)   GraphicalUI

Я уже кое-что читал, думаю, это был вопрос о переполнении стека, но я не совсем понял, что мне нужно сделать, чтобы правильно решить эту проблему. Итак, кто-нибудь может мне помочь?

Моя ОС: Windows 8.1 Pro x64

IDE: Visual Studio 2013 Ultimate x86

c++visual-studioqtvisual-studio-2013

Ответы

Ответ 1 · рейтинг 2 · the_mandrill

Похоже, это проблема с вашей установкой Qt, а не надстройкой VS. Я думаю, вы установили двоичные файлы для VS2012 (_MSC_VER=1700), а не для VS2013 (_MSC_VER=1800). Похоже, что на странице загрузки Qt еще нет двоичных файлов для VS2013, поэтому я бы предложил сборка их из исходников.

Ответ 2 · Víctor

У меня есть аналогичные проблемы в VS2013, но на самом деле я спровоцировал эту ошибку (по ошибке :)), так как мне нужно было бы скомпилировать 32-битные библиотеки Qt вместо общих библиотек для VS2013, но, похоже, они созданы только для 64-битной архитектуры. . Таким образом, кажется, что мы должны использовать 64-битные библиотеки Qt, если мы используем VS2013, поскольку мы должны импортировать каталог с именем .../Qt/5.3/msvc2013_64 и нет каталога с именем, например, .../msvc2013_32 или просто .../msvc2013. На самом деле я спровоцировал эту ошибку при попытке использовать библиотеки из каталога VS2012 .../Qt/5.3/msvc2012_opengl, который действительно является более старой версией, чем платформа, которую я использую (VS2013).

Таким образом, если вы хотите скомпилировать библиотеки Qt на своем VS2013, кажется, что вы должны изменить свою платформу и режим отладки на 64 бита в настройках вашего проекта VS2013. По крайней мере, это работает для меня.

Надеюсь, это решит вашу проблему, и если кто-нибудь знает, как скомпилировать 32-битные библиотеки Qt в VS2013, сообщите об этом. Спасибо.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы