Visual С++ 2010 Express: как использовать с Qt?

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

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

Затем добавьте D:\Qt\4.x.x\bin и D:\Qt\4.x.x\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 МБ)"

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

Ответы

Ответ 1

Использование загружаемого 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, и компиляция завершена. Я перестроил проект hello world и exe. Таким образом, кажется, что ответ заключается в том, чтобы использовать с Visual Studio Express 2010, который вам в настоящее время нужно скомпилировать (по крайней мере, до тех пор, пока Qt не выпустит опцию загрузки VS2010). Тем не менее, я считаю, что если вы используете VS2008, вам не нужно будет компилировать.

Ответ 2

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

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

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

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

Ответ 3

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

Протестировано с QtSDK 4.8 и visual studio express 2010

Ответ 4

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

Вам, вероятно, понадобится и тот.,

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

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

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