วิธีสร้าง Qt สำหรับ Visual Studio 2010


137

ฉันพยายามหาวิธีการที่ให้โซลูชันที่เสถียรสำหรับการใช้ Qt กับ Visual Studio 2010 ดังนั้นหลังจากรวบรวมบิตของข้อมูลทั้งหมดและการทดลองใช้และข้อผิดพลาดบางอย่างฉันต้องการเขียนวิธีแก้ปัญหาของฉันลงในคำแนะนำ

ปัญหาหรือเหตุใดจึงไม่สามารถใช้ไบนารีที่สร้างไว้ล่วงหน้าได้

ดูเหมือนว่าการใช้ไบนารีที่สร้างขึ้นสำหรับ Visual Studio 2008 อาจทำงานในบางกรณีพิเศษ แต่ฉันพบว่ามันไม่ทำงาน ในกรณีของฉันพวกเขารวบรวมตกลง แต่พวกเขาผลิตข้อผิดพลาด runtime เช่นนี้

problem2

หรือเมื่อเริ่มต้นจาก Visual Studio 2010:

ปัญหา

อัปเดต : ฉันพบการโพสต์บล็อกวิเคราะห์ว่าทำไมจึงมีประโยชน์กับบางคนในขณะที่ไม่เหมาะกับคนอื่น ในหนึ่งคำขึ้นอยู่กับว่าคุณติดตั้ง Visual Studio 2008 บนเครื่องเดียวกันหรือไม่ http://blog.paulnettleship.com/2010/11/11/troubleshooting-visual-studio-2010-and-qt-4-7-integration/

สิ่งที่สำคัญที่สุด (ที่ฉันโง่อย่างไม่รู้ตัว) คือข้อเท็จจริงที่ว่าคุณไม่สามารถใช้ไลบรารีที่คอมไพล์ด้วย Visual Studio 2008 และ dll (มีอยู่ในเว็บเพจ Qt) หากคุณไม่ได้ติดตั้ง Visual Studio 2008 สาเหตุเป็นเพราะ Qt SDK ที่คุณดาวน์โหลดเป็นบิลด์การตรวจแก้จุดบกพร่องซึ่งขึ้นอยู่กับ VC9.0 DebugCRT ซึ่งหมายความว่าต้องใช้ Visual C ++ 2008 Debug Runtime ติดตั้งซึ่งไม่สามารถใช้งานได้ในฐานะโปรแกรมติดตั้งที่สามารถแจกจ่ายซ้ำได้ วิธีเดียวในการติดตั้ง DebugCRT คือการติดตั้ง Visual Studio 2008 ทั้งหมด


ขอบคุณสำหรับความพยายามของคุณ นอกจากนี้อาจเป็นประโยชน์ในการอธิบายว่าทำไมจึงไม่ควรใช้ไบนารี VS 2008 ฉันพัฒนาบางโครงการทดสอบต้นแบบกับพวกเขาและ VS2010 โดยไม่ประสบปัญหาใด ๆ แต่ฉันจำได้ว่ามีคนพูดถึงว่ามีปัญหาการปรับใช้หรือไม่
Ralf

ฉันได้เพิ่มประสบการณ์ของฉันไปยังส่วนสุดท้าย โดยทั่วไปฉันพบรายงานจำนวนมากบนเน็ตซึ่งบอกคุณว่าคุณต้องรวบรวม Qt หากคุณต้องการใช้กับ VS2010 มีหน้าหนึ่งที่บอกคุณว่าอาจมี VS2008 อยู่
hyperknot

ที่ยอดเยี่ยมผมว่าหลาย ๆ คนจะพบนี้ :) ประโยชน์
ราล์ฟ

เฮ้นี่คือสิ่งที่ฉันได้รับnmakeเมื่อฉันทำ configure.exe -release -no-ltcgผมใช้ต่อไปก่อนที่จะพยายามสร้าง:
Mateen Ulhaq

2
สำหรับการอ้างอิงในอนาคตคุณอาจจะสนใจที่จะรู้ว่าเอกสาร Qtเว็บไซต์จริงมีคำแนะนำการติดตั้งสำหรับการรวบรวมจากแหล่ง
Ephphatha

คำตอบ:


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 libraries 4.8.6 สำหรับ Windows (Visual Studio 2008, 218 MB)"แต่โดยคลิกที่ลิงค์"zip"ด้านบน

การเชื่อมโยงการเลือก

ลิงค์ที่คุณจะได้รับไฟล์ซิปขนาดใหญ่เช่น"qt-everywhere-opensource-src-4.8.6.zip" แตกไฟล์นี้ออกจากโฟลเดอร์และสร้างพา ธ ให้เล็กและใหญ่ตัวอย่างเช่น"E: \ Qt"

พรอมต์คำสั่งของ Visual Studio

ตอนนี้เรามีแหล่งที่มาเราต้องสร้างไบนารี ในการทำเช่นนั้นให้เปิดMicrosoft Visual Studio 2010\Visual Studio Tools\Visual Studio Command Prompt (2010)ลิงก์จากเมนูเริ่มต้นของคุณหรือแม้กระทั่งปักหมุดไว้ที่แถบงาน (ความคิดที่ดี) นี่เป็นพรอมต์คำสั่งพิเศษซึ่งมีตัวแปรทั้งหมดที่ตั้งค่าสำหรับการสร้างด้วยเครื่องมือ Visual Studio 2010

เมื่อคำสั่งภายในพรอมต์ให้นำทางไปยัง Qt สกัดโฟลเดอร์โดยใช้โรงเรียนเก่าวิธี DOS ซึ่งหมายความว่าคุณต้องเปลี่ยนแปลงตัวอักษรไดรฟ์โดยการE:ป้อนไดเรกทอรีโดยcd Qtและเนื้อหารายการ dir dirโดย คุณสามารถใช้ปุ่มแท็บเพื่อช่วยให้คุณมีชื่อไดเรกทอรี เมื่อคุณมาถึงไดเรกทอรีที่ถูกต้องdirคำสั่งควรส่งคืนสิ่งนี้

บรรทัดคำสั่ง

อาคาร 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เป็น dir การติดตั้งของคุณ

setx QTDIR e:\Qt

สำหรับการตั้งค่าPATHผมขอแนะนำให้ใช้แก้ไขเส้นทาง ภายในตัวแก้ไขเส้นทาง

add the directory of Qt\bin to your PATH

(ไม่สำคัญว่าอยู่ในเส้นทางของระบบหรือเส้นทางของผู้ใช้)

หากคุณต้องการใช้งานControl Panel\System\Environment Variablesคุณสามารถตั้งค่าเหล่านี้ได้เช่นกัน

Qt Visual Studio Add-in

ที่นี่คุณไปหลังจากออกจากระบบ - เข้าสู่ระบบหรือรีสตาร์ทแอปพลิเคชันการสาธิต Qt ทั้งหมดควรเริ่มต้นอย่างถูกต้อง (ฉันแนะนำให้ดูที่bin \ qtdemo.exe ) ตอนนี้คุณสามารถดาวน์โหลดและติดตั้ง Visual Studio Add-in (qt-vs-addin-1.1.9.exe) จากหน้าดาวน์โหลด Qt มันจะทำงานได้อย่างสมบูรณ์

เพิ่มใน

ภาคผนวก A: คำแนะนำอย่างเป็นทางการ:

มีหน้าหนึ่งของ wiki อย่างเป็นทางการที่เว็บไซต์Qtชื่อQt 4.8 การติดตั้ง Qt สำหรับ Windowsแต่ฉันพบว่ามันไม่มีข้อมูลที่สำคัญ

อ้างอิง

ฟอรัม Qt DevNet การตั้ง
ค่าสถานะที่แนะนำสำหรับการสร้าง Qt แบบมินิมัลลิสต์
อาคาร Qt 4.5 ด้วย Visual C ++ 2010
วิธีการคอมไพล์ Qt แบบคงที่
Qt 4.8: กำหนดค่าตัวเลือกสำหรับ Qt
แก้ไขตัวแปรสภาพแวดล้อม PATH ใน
Windows โดยไม่ต้องเจ็บปวด - op111.net


2
นี่เป็นสิ่งที่ดี แต่ฉันจะเพิ่ม -qt-sql-sqlite ในการกำหนดค่าสถานะหากคุณไม่ต้องการมีปัญหากับผู้ช่วย Qt ที่คุณสร้างขึ้นเอง ดูเหมือนว่ามันต้องการปลั๊กอินนี้เพื่ออ่านฐานข้อมูลเอกสารได้สำเร็จ
neuviemeporte

สุดยอดคู่มือ! One note - ฉันกำลังพยายามตั้งค่าสักวันหรือสองวันและในกระบวนการได้เพิ่มตัวแปรพา ธ ไปยัง mingw - สิ่งเหล่านี้แตกหักและจำเป็นต้องลบออกก่อนที่สิ่งต่าง ๆ จะทำงาน
David Hall

2
อีกหนึ่งหมายเหตุ: เครื่องมือ VS ปฏิเสธการสร้าง QT หากมีช่องว่างบางส่วนในเส้นทางไปยังโฟลเดอร์ที่เป็นที่ตั้งของแหล่งที่มาของ QT อย่างน้อยก็ในกรณีของฉัน
Roman Kruglov

10
เพียงคำถามเดียว: เพราะเหตุใด Qt จึงไม่มีการแจกแจงก่อนคอมไพล์ VS 2010
Matt Montag

2
เพียงเพื่อแจ้งให้คุณทราบ ลิงก์ในโพสต์ต้นฉบับไม่ทำงานอีกต่อไป ใช้เวลาสักครู่หนึ่งในการค้นหาไซต์ digia และค้นหา addin ที่ไม่ได้อยู่ที่นั่น ลิงค์หลักที่ต้องติดตามคือ: 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 นั้นมีประโยชน์มากโดยเฉพาะถ้าใครต้องการเปลี่ยนตัวเลือกที่เกี่ยวข้องกับสถาปัตยกรรม

แน่นอน! แต่คำถามถูกถามก่อนที่จะมีห้องสมุดที่สร้างไว้ล่วงหน้าดังนั้นฉันจึงแจ้งให้ผู้คนทราบว่าขณะนี้มีทางเลือกอื่น
parsley72

1

ยินดีต้อนรับลิงก์ไปยังโซลูชันที่เป็นไปได้ แต่โปรดเพิ่มบริบทรอบลิงก์เพื่อให้ผู้ใช้เพื่อนของคุณมีความคิดว่ามันคืออะไรและเพราะเหตุใด อ้างถึงส่วนที่เกี่ยวข้องที่สุดของลิงค์สำคัญเสมอในกรณีที่เว็บไซต์เป้าหมายไม่สามารถเข้าถึงหรือออฟไลน์อย่างถาวร คำนึงว่าเป็นแทบจะมากกว่าการเชื่อมโยงไปยังเว็บไซต์ภายนอกเป็นเหตุผลที่เป็นไปได้ทำไมและวิธีการที่คำตอบบางอย่างที่ถูกลบ
Maximilian Ast
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.