Як створити Qt для Visual Studio 2010


137

Я зіткнувся з пошуком способів, що забезпечує стабільне рішення для використання Qt з Visual Studio 2010, тому після збору всіх бітів інформації та деяких проб і помилок я хотів би написати своє рішення у посібнику.

Проблема чи чому неможливо використовувати попередньо вбудовані бінарні файли?

Здається, що використання бінарних файлів, створених для Visual Studio 2008, може спрацювати в деяких особливих випадках, але я виявив, що вони не працюють. У моєму випадку вони склали ОК, але вони створюють помилки виконання, наприклад:

проблема2

або коли починається з Visual Studio 2010:

проблема

Оновлення : я знайшов допис у блозі, в якому аналізував, чому це працює для деяких людей, а для інших -. Одним словом, це залежить від того, у вас на одній машині встановлений Visual Studio 2008, чи ні. http://blog.paulnettleship.com/2010/11/11/troubleshooting-visual-studio-2010-and-qt-4-7-integration/

Найголовніше (чого я тупо не усвідомлював) - це те, що ви НЕ МОЖЕТЕ використовувати зібрані бібліотеки та dll (доступні на веб-сторінці Qt), зібрані Visual Studio 2008, якщо у вас немає Visual Studio 2008. Причина полягає в тому, що завантажений вами пакет SDK Qt є налагодженням налагодження, яке залежить від VC9.0 DebugCRT, це означає, що він потребує встановленого режиму налагодження Visual C ++ 2008, який НЕ доступний як інсталятор, що перерозподіляється. Єдиний спосіб встановити DebugCRT - це встановити весь Visual Studio 2008.


Дякуємо за ваші зусилля. Також може бути корисно пояснити, чому не слід використовувати бінарні файли VS 2008. Я розробляв деякі прототипові тестові проекти з ними та VS2010, не відчуваючи жодних проблем, але я пригадую, щоб хтось згадував, що є проблеми з розгортанням?
Ральф

Я додав свій досвід до останнього розділу. Як правило, я знайшов у мережі багато звітів, які говорять про те, що ви повинні зібрати Qt, якщо ви хочете використовувати його з VS2010. Є одна сторінка, яка говорить про те, що це може бути присутність VS2008.
гіперкнот

Фантастичний, я впевнений, що багатьом це стане корисним :)
Ralf

Гей, ось що я отримую, коли роблю nmake. Я використовував наступне , перш ніж намагатися побудувати: configure.exe -release -no-ltcg.
Mateen Ulhaq

2
Для подальшої довідки вам може бути цікаво дізнатися, що на сайті документації Qt насправді є інструкції по встановленню для компіляції з джерела .
Еффата

Відповіді:


142

Перш за все, дуже важливо зрозуміти, що для використання Qt з Visual Studio 2010 неможливо використовувати заздалегідь вбудовані бінарні файли, які були зроблені для Visual Studio 2008 , але вам потрібно скомпілювати його з джерела.

Завантаження Qt

На https://www.qt.io/download/

Оновлення 2017 року: остання гілка Qt 4.x (Qt 4.8.6) має 2 попередньо вбудованих пакети, які зараз знаходяться в розділі архіву:

  1. http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-vs2010-4.8.6.exe
  2. http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-vs2008-4.8.6.exe

Ви не повинні завантажувати Qt, натиснувши "Бібліотеки Qt 4.8.6 для Windows (Visual Studio 2008, 218 МБ)" , а натиснувши на нього посилання "zip" .

вибір посилань

За цим посиланням ви отримуєте великий zip-файл, наприклад "qt-everywhere-opensource-src-4.8.6.zip" . Розпакуйте це в папку і зробіть її шлях чимось приємним і маленьким, наприклад "E: \ Qt"

Командний рядок візуальної студії

Тепер, коли у нас є джерела, нам потрібно побудувати бінарні файли. Для цього відкрийте Microsoft Visual Studio 2010\Visual Studio Tools\Visual Studio Command Prompt (2010)посилання зі свого пускового меню або навіть закріпіть його на панелі завдань (хороша ідея). Це спеціальний командний рядок, який містить усі змінні, встановлені для побудови за допомогою інструментів Visual Studio 2010.

Отримавши в командному рядку, перейдіть до витягнутої папки Qt за допомогою старої школи DOS, що означає, що вам потрібно змінити літеру диска на E:, ввести каталоги cd Qtта перерахувати вміст dir до dir. Ви можете скористатися клавішею вкладки, щоб допомогти вам з іменами каталогу. Коли ви прийшли до правильного каталогу, dirкоманда повинна повернути щось подібне.

командний рядок

Побудова Qt

Тепер настав час налаштування та побудови. Для налаштування мінімалістичного Qt я використовую наступні прапори configure.exe. Просто скопіюйте та вставте його в командний рядок. Подивіться у довідковому посібнику Qt, який прапор використовувати чи не використовувати.

configure.exe -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-qt3support -no-multimedia -no-ltcg

Після configure.exeзакінчення (це було 10 хвилин для мене), вам потрібно буде запустити процес збирання. З вищевказаними прапорами піде приблизно 20-30 хвилин. Щоб почати це, просто введіть:

nmake

Встановлення змінних середовища

В основному, ми зробили. Все, що вам потрібно зробити - це встановити змінні середовища ( QTDIRі PATH), які вказують програмам, де знайти Qt. Якщо ви перебуваєте в ОС Windows 7, ви можете скористатися наступною командою для встановлення QTDIRвашого редактора.

setx QTDIR e:\Qt

Для встановлення параметра PATHнастійно рекомендую використовувати Редактор контурів . У редакторі шляху

add the directory of Qt\bin to your PATH

(не має значення, чи є він у системному шляху чи в користувальницькому шляху)

Якщо ви віддаєте перевагу використанню Control Panel\System\Environment Variables, тоді ви також можете їх встановити.

Додаток візуальної студії Qt

Ось після закінчення входу в систему або після перезавантаження, усі демо-програми Qt повинні запускатися правильно (рекомендую ознайомитись з bin \ qtdemo.exe ). Тепер ви можете завантажити та встановити надбудову Visual Studio (qt-vs-addin-1.1.9.exe) зі сторінки завантаження Qt, вона буде працювати ідеально.

Додати до

Додаток A: Офіційні інструкції:

На веб-сайті Qt є сторінка на офіційній вікі під назвою Qt 4.8 Встановлення Qt для Windows , але я виявив, що їй не вистачає важливої ​​інформації.

Список літератури

Форуми Qt DevNet
Рекомендовані прапори для мінімалістичної збірки Qt Build
Qt 4.5 з Visual C ++ 2010
Як скласти Qt як статичний
Qt 4.8: Налаштувати параметри для Qt Без змін боліть
зміну середовища PATH у
Windows - op111.net


2
Це чудово, але я б додав -qt-sql-sqlite до прапорів налаштування, якщо ви не хочете мати проблем зі своїм вбудованим Qt Assistant. Схоже, йому потрібен цей плагін для успішного читання баз даних документації.
neuviemeporte

Чудовий путівник! Одне зауваження - я намагався налаштуватись на день-два, і в ході цього процесу було додано декілька змінних контурів до mingw - вони зламали nmake і їх потрібно було видалити, перш ніж все попрацювало.
Девід Холл

2
Ще одна примітка: інструменти VS відхиляють створення QT, якщо на шляху до папки, де знаходяться джерела QT, є пробіли. Принаймні, це в моєму випадку.
Роман Круглов

10
Лише одне питання: чому ще Qt не надає попередньо складений дистрибутив VS 2010?
Метт Монтаг

2
Просто щоб повідомити вам, хлопці. Посилання в оригінальній публікації більше не працює. Шукати досить багато часу на пошуковому сайті Digia та виявити, що він не є навіть там. Основне посилання, яке слід дотримуватися, це: qt-project.org/downloads
paul23

25

Qt V4.8.0 містить попередньо вбудовані бінарні файли для Visual Studio 2010, тому вам більше не потрібно цього робити: http://qt.nokia.com/downloads/windows-cpp-vs2010


2
parsley72, попередньо вбудовані бінарні файли для Visual Studio 2010 корисні лише в тому випадку, якщо ви плануєте працювати в 32-бітовому режимі налагодження, інакше посібник, розміщений zsero, дуже корисний, особливо якщо потрібно змінити параметри архітектури.

Абсолютно! Але питання було задано ще до того, як були створені попередньо створені бібліотеки, тому я даю людям знати, що зараз існує альтернатива.
петрушка72

1

Посилання на потенційне рішення завжди вітається, але будь ласка, додайте контекст навколо цього посилання, щоб ваші колеги користувачі мали уявлення про те, що це таке і чому воно існує. Завжди цитуйте найбільш релевантну частину важливого посилання на випадок, якщо цільовий сайт недоступний або перебуває постійно в режимі офлайн. Враховуйте, що наявність ледве більше ніж посилання на зовнішній сайт є можливою причиною того, чому і як видаляються деякі відповіді .
Максиміліан Аст
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.