Visual C ++ 2010 Express: как использовать с Qt? - PullRequest
13 голосов
/ 24 февраля 2011

Я не совсем понимаю, как заставить Qt работать с Visual Studio Express.Большинство поисковых запросов в Интернете содержат инструкции для компиляции Qt, используя такие инструкции, как:

  • Установить MSVC2005 или MSVC2008
  • Установить самый последний Platform SDK (@ MSDN: "Platform SDK для Windows Server 2003 R2 ")
  • В Platform SDK вам необходимо установить хотя бы базовые + параметры Интернета
  • Затем загрузите и извлеките последний снимок или предварительный просмотротпустите на D: \ Qt \ 4.xx
  • Откройте консоль с загруженными настройками MSVC (см. меню инструментов MSVC) и перейдите в каталог Qt
  • Тип "configure -platform win32"-msvc2005 "без кавычек
  • Это создаст вам файлы проекта, которые вам понадобятся
  • После этого это так же просто, как запустить" nmake "и выпить много кофе

Затем добавьте D: \ Qt \ 4.xx \ bin и D: \ Qt \ 4.xx \ lib в переменную окружения вашего пути, и вы сможете использовать эту версию Qt вездев вашей системе.Последний также может быть добавлен в раздел библиотеки в опциях MSVC.

(из http://www.qtcentre.org/threads/11710-Visual-Studio-2005-Express)

Однако, когда я перехожу на страницу загрузки Qt (http://qt.nokia.com/downloads), есть загрузка для Visual Studio с надписью: «Библиотеки Qt 4.7.1 для Windows (VS 2008, 228 МБ)»

Я в замешательстве, мне все еще нужно его собрать?Или он уже построен?

Ответы [ 4 ]

4 голосов
/ 24 февраля 2011

Использование загружаемого exe из qt (http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.1-vs2008.exe), похоже, не работает с Visual Studio 2010. Я попытался создать простую программу hello world из командной строки, которая не запускалась. Я повторю свой комментарий из предыдущего ответа .

Я попробовал пример с Hello World из doc.qt.nokia.com/4.7/gettingstartedqt.html. Я смог построить проект и exe генерируется. Тем не менее, exe не запускается и генерирует систему диалоговое окно об ошибке "бок о бок" неверная конфигурация ... " SxsTrace и там написано:

...
INFO: Begin assembly probing.
INFO: Did not find the assembly in WinSxS.
INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC90.DebugCRT\ 9.0.21022.8__...\Microsoft.VC90.DebugCRT.DLL.
INFO: Attempt to probe manifest at C:\qthello\debug\Microsoft.VC90.DebugCRT.DLL.
INFO: Attempt to probe manifest at C:\qthello\debug\Microsoft.VC90.DebugCRT.MANIFEST.
INFO: Attempt to probe manifest at C:\qthello\debug\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.DLL.
INFO: Attempt to probe manifest at C:\qthello\debug\Microsoft.VC90.DebugCRT\Microsoft.VC90.DebugCRT.MANIFEST.
INFO: Did not find manifest for culture Neutral.
INFO: End assembly probing.
ERROR: Cannot resolve reference Microsoft.VC90.DebugCRT,processorArchitecture="x86", publicKeyToken="...",type="win32",version="9.0.21022.8".
ERROR: Activation Context generation failed.
End Activation Context Generation.

Для меня это выглядит как попытка использовать VS2008 (которого у меня нет). Это делает смысл я думаю, так как загрузка для VS2008.

Я находился в процессе компиляции qt 4.7.1, используя инструкции в моем вопросе (однако, используя win32-msvc2010 в качестве целевой платформы), когда я задал этот SO-вопрос, и компиляция завершилась. Я перестроил проект "Привет, мир!", И исполняемый файл запускается. Таким образом, похоже, что ответ для использования с Visual Studio Express 2010, который вам в настоящее время нужно скомпилировать (по крайней мере, до тех пор, пока Qt не выпустит опцию загрузки VS2010). Тем не менее, я считаю, что если вы используете VS2008, вам не нужно будет компилировать.

3 голосов
/ 25 февраля 2011

Двоичные файлы Qt, предоставляемые Nokia для Windows, предназначены для MinGW или Visual Studio 2008, оба для компиляции 32-битных исполняемых файлов.Если вам нужны двоичные файлы Qt для VS 2005 (32 бита), вы можете найти их в их архивах.

Для всего остального вам нужно скомпилировать Qt самостоятельно.Специально для:

  • 64-разрядная версия Visual Studio 2008
  • 64-разрядная версия Visual Studio 2008 Express Edition: Вам необходим Windows SDK 7.0, который предоставляет 64-разрядные компиляторы и компилирует Qt вместе с ними.
  • Visual Studio 2010 32-битная и 64-битная

Как правило, вы не можете связывать библиотеки, скомпилированные с разными компиляторами, т. Е. Использовать двоичные файлы Qt, созданные с VC 9.0 (VS 2008), 32-битные исвяжите их с исполняемым файлом, созданным с использованием VC 10.0 (VS 2010), 32-разрядная версия.

0 голосов
/ 23 марта 2012

Просто небольшое обновление по этому вопросу. Скачивая QTSDK (и используя cmake вместо qmake, все выглядит довольно хорошо. За исключением того факта, что установщик QTSDK не обновил путь для qmake.exe, и вам придется это делать вручную.

Протестировано с QtSDK 4.8 и Visual Studio Express 2010

0 голосов
/ 24 февраля 2011

http://qt.nokia.com/downloads имеет ссылку под названием qt-vs-addin-1.1.7.exe (57 МБ)

Тебе, вероятно, понадобится и этот. ,

Я не думаю, что вам нужно компилировать библиотеки, так как сейчас для них есть загрузка. .

Итак, получите 228 МБ библиотек libs и 57 МБ, и все должно быть установлено.

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я не использую MSVC (пока?), Поэтому, пожалуйста, дайте мне знать, если он работает.

...