Cara membangun Qt untuk Visual Studio 2010

138

Saya kesulitan menemukan cara-cara yang memberikan solusi stabil untuk menggunakan Qt dengan Visual Studio 2010, jadi setelah mengumpulkan semua bit informasi dan beberapa trial and error, saya ingin menulis solusi saya ke dalam panduan.

Masalahnya, atau mengapa tidak mungkin menggunakan binari bawaan?

Tampaknya menggunakan binari yang dibuat untuk Visual Studio 2008 mungkin berfungsi dalam beberapa kasus khusus, tetapi saya menemukan mereka tidak berfungsi. Dalam kasus saya, mereka mengkompilasi OK, tetapi menghasilkan kesalahan waktu proses, seperti ini:

masalah2

atau saat dimulai dari Visual Studio 2010:

masalah

Pembaruan : Saya menemukan sebuah posting blog yang menganalisis mengapa itu berhasil untuk beberapa orang, sementara itu tidak untuk orang lain. Dalam satu kata, itu tergantung pada apakah Anda memiliki Visual Studio 2008 diinstal pada mesin yang sama, atau tidak. http://blog.paulnettleship.com/2010/11/11/troubleshooting-visual-studio-2010-and-qt-4-7-integration/

Hal yang paling penting (yang bodohnya saya tidak sadari) adalah fakta bahwa Anda TIDAK BISA menggunakan perpustakaan dan dll yang dikompilasi Visual Studio 2008 (tersedia di halaman web Qt) jika Anda tidak menginstal Visual Studio 2008. Alasannya adalah karena Qt SDK yang Anda unduh adalah versi debug yang bergantung pada VC9.0 DebugCRT, yang berarti memerlukan Visual C ++ 2008 Debug Runtime yang diinstal, yang TIDAK tersedia sebagai penginstal yang dapat didistribusikan ulang. Satu-satunya cara untuk menginstal DebugCRT adalah menginstal keseluruhan Visual Studio 2008.

zsero
sumber
Terima kasih atas usahamu. Juga, mungkin berguna untuk menjelaskan mengapa seseorang tidak boleh menggunakan binari VS 2008. Saya memang mengembangkan beberapa proyek uji prototipe dengan mereka dan VS2010 tanpa mengalami masalah apa pun, tetapi saya ingat seseorang menyebutkan bahwa ada masalah penerapan?
Ralf
Saya telah menambahkan pengalaman saya ke bagian terakhir. Umumnya saya menemukan banyak laporan di internet yang memberitahu Anda bahwa Anda harus mengkompilasi Qt jika Anda ingin menggunakannya dengan VS2010. Ada satu halaman yang memberitahu Anda bahwa itu mungkin kehadiran VS2008.
hyperknot
Luar biasa, saya yakin banyak orang akan menganggap ini berguna :)
Ralf
Hei, inilah yang saya dapatkan saat saya melakukannya nmake. Saya menggunakan berikut sebelum mencoba untuk membangun: configure.exe -release -no-ltcg.
Mateen Ulhaq
2
Untuk referensi di masa mendatang, Anda mungkin tertarik untuk mengetahui bahwa situs dokumentasi Qt sebenarnya memiliki petunjuk instalasi untuk mengkompilasi dari sumbernya .
Efata

Jawaban:

142

Pertama-tama, sangat penting untuk dipahami bahwa untuk menggunakan Qt dengan Visual Studio 2010, tidak mungkin menggunakan binari yang dibuat sebelumnya yang dibuat untuk Visual Studio 2008 , tetapi Anda harus mengkompilasinya dari sumber.

Mendownload Qt

Di https://www.qt.io/download/

Pembaruan 2017: cabang Qt 4.x terbaru (Qt 4.8.6) memiliki 2 paket pra-bangun, yang sekarang ada di bagian arsip:

  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

Anda tidak boleh mengunduh Qt dengan mengklik "Perpustakaan Qt 4.8.6 untuk Windows (Visual Studio 2008, 218 MB)" , tetapi dengan mengklik link "zip" di atasnya.

link-seleksi

Di tautan itu, Anda mendapatkan file zip besar seperti "qt-everywhere-opensource-src-4.8.6.zip" . Unzip ini ke dalam folder dan buat jalurnya menjadi sesuatu yang bagus dan kecil, misalnya "E: \ Qt"

Prompt Perintah Visual Studio

Sekarang setelah kita memiliki sumbernya, kita perlu membangun binari. Untuk melakukannya, buka Microsoft Visual Studio 2010\Visual Studio Tools\Visual Studio Command Prompt (2010)tautan dari menu mulai Anda, atau bahkan sematkan ke bilah tugas (ide bagus). Ini adalah prompt perintah khusus yang memiliki semua variabel yang ditetapkan untuk membangun dengan alat Visual Studio 2010.

Setelah berada dalam prompt perintah, navigasikan ke folder Qt Anda yang diekstraksi menggunakan cara DOS jadul, yang berarti Anda harus mengubah huruf drive dengan E:, masukkan direktori dengan cd Qtdan daftar isi dir dengan dir. Anda dapat menggunakan tombol tab untuk membantu Anda dengan nama direktori. Ketika Anda telah sampai di direktori yang benar, sebuah dirperintah akan menghasilkan sesuatu seperti ini.

garis komando

Membangun Qt

Sekarang saatnya mengkonfigurasi dan membangun. Untuk mengkonfigurasi Qt minimalis, saya menggunakan flag berikut dengan configure.exe. Cukup salin dan tempel ke baris perintah. Lihat di manual referensi Qt untuk flag apa yang digunakan atau tidak.

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

Setelah configure.exeselesai (hanya 10 menit bagi saya), Anda harus memulai proses pembuatan. Ini akan memakan waktu sekitar 20-30 menit dengan bendera di atas. Untuk memulainya, cukup ketik:

nmake

Mengatur variabel lingkungan

Pada dasarnya, kita sudah selesai. Yang perlu Anda lakukan adalah mengatur variabel lingkungan Anda ( QTDIRdan PATH), yang memberi tahu program di mana menemukan Qt. Jika Anda menggunakan Windows 7, Anda dapat menggunakan perintah berikut untuk menyetel QTDIRke direktori instalasi Anda.

setx QTDIR e:\Qt

Untuk mengatur PATH, saya sangat menyarankan menggunakan Path Editor . Di dalam Path Editor

add the directory of Qt\bin to your PATH

(tidak masalah apakah itu di jalur sistem atau jalur pengguna)

Jika Anda lebih suka menggunakan Control Panel\System\Environment Variables, Anda dapat mengaturnya di sana juga.

Qt Visual Studio Add-in

Ini dia, setelah logonff-logon atau restart, semua aplikasi demo Qt harus dimulai dengan benar (saya sarankan untuk melihat bin \ qtdemo.exe ). Sekarang Anda dapat mengunduh dan menginstal Visual Studio Add-in (qt-vs-addin-1.1.9.exe) dari halaman unduh Qt, itu akan bekerja dengan sempurna.

menambahkan

Lampiran A: Instruksi Resmi:

Ada halaman di wiki resmi di situs web Qt bernama Qt 4.8 Menginstal Qt untuk Windows , tetapi saya merasa kurang informasi penting.

Referensi

Forum Qt DevNet
Bendera yang disarankan untuk build Qt minimalis
Membangun Qt 4.5 dengan Visual C ++ 2010
Cara mengkompilasi Qt sebagai
Qt 4.8: Konfigurasi opsi untuk Qt
Mengedit variabel lingkungan PATH di
Windows tanpa rasa sakit - op111.net

zsero
sumber
2
Ini bagus, tetapi saya akan menambahkan -qt-sql-sqlite ke bendera konfigurasi jika Anda tidak ingin memiliki masalah dengan Asisten Qt yang dibuat khusus. Sepertinya plugin ini membutuhkan plugin ini untuk berhasil membaca database dokumentasi.
neuviemeporte
Panduan hebat! Satu catatan - Saya sedang mencoba untuk menyiapkan selama satu atau dua hari dan dalam prosesnya telah menambahkan beberapa variabel jalur ke mingw - ini rusak nmake dan perlu dihapus sebelum semuanya bekerja.
David Hall
2
Satu catatan lagi: Alat VS menolak pembuatan QT jika ada beberapa spasi di jalur ke folder tempat sumber QT berada. Setidaknya dalam kasus saya.
Roman Kruglov
10
Hanya satu pertanyaan: mengapa Qt belum menyediakan distribusi pra-kompilasi VS 2010?
Matt Montag
2
Hanya untuk memberi tahu kalian. Tautan di postingan asli tidak berfungsi lagi. Diperlukan waktu cukup lama untuk mencari situs digia dan menemukan bahwa addin tidak ada di sana. Tautan utama yang harus diikuti adalah: qt-project.org/downloads
paul23
25

Qt V4.8.0 berisi binari prebuilt untuk Visual Studio 2010 sehingga Anda tidak perlu melakukan ini lagi: http://qt.nokia.com/downloads/windows-cpp-vs2010

peterseli72
sumber
2
parsley72 binari prebuilt untuk Visual Studio 2010 hanya berguna jika Anda berencana untuk bekerja dalam mode debug 32bit, jika tidak, panduan yang diposting oleh zsero sangat berguna terutama jika seseorang ingin mengubah opsi tentang arsitektur.
Benar! Tapi pertanyaan itu ditanyakan kembali sebelum perpustakaan prebuilt tersedia jadi saya memberi tahu orang-orang sekarang ada alternatif.
peterseli72
1

Lihat tautan di bawah ini dan mungkin berguna 1) https://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/Build_Instructions/Prerequisites/Qt#Windows_3 2) http://eecs.vanderbilt.edu /research/hmtl/wp/index.php/qt-vs/

pengguna6303986
sumber
Tautan ke solusi potensial selalu diterima, tetapi harap tambahkan konteks di sekitar tautan sehingga sesama pengguna Anda akan tahu apa itu dan mengapa itu ada. Selalu kutip bagian paling relevan dari tautan penting, jika situs target tidak dapat dijangkau atau offline secara permanen. Mempertimbangkan bahwa hampir tidak lebih dari tautan ke situs eksternal adalah kemungkinan alasan mengapa dan bagaimana beberapa jawaban dihapus .
Maximilian Ast