Недавно я открыл для себя 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
Ответ 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, сообщите об этом. Спасибо.