qmake: ไม่พบการติดตั้ง Qt ของ ''


139

ฉันมีซอฟต์แวร์ในอูบุนตูที่ต้องการให้ฉันเรียกใช้ qmake เพื่อสร้าง Makefile

อย่างไรก็ตามการรัน qmake ทำให้เกิดข้อผิดพลาดนี้

qmake: could not find a Qt installation of ''

ฉันได้ติดตั้งสิ่งที่ฉันคิดว่าเป็นแพ็คเกจที่จำเป็นโดยใช้

sudo apt-get install qt4-qmake
sudo apt-get install qt5-qmake

แต่ข้อผิดพลาดไม่ได้หายไป

ความช่วยเหลือใด ๆ เกี่ยวกับเรื่องนี้ยินดีที่จะชื่นชม!


6
sudo apt-get install qtcreatorลองใช้ ติดตั้ง Qt SDK + IDE แบบเต็ม ควรเพิ่มทุกสิ่งที่คุณต้องการ
sashoalm

สวัสดี @sashoalm ขอบคุณมากดูเหมือนว่าฉันมีแพ็คเกจอื่นที่ขาดหายไป ตอนนี้ใช้งานได้แล้ว: D
Curious

6
นี่ไม่ใช่วิธีแก้ปัญหาที่ดีเนื่องจากจะติดตั้งแพ็คเกจที่ไม่จำเป็นจำนวนมาก
Scone

คำตอบ:


186

sudo apt-get install qt5-default เหมาะกับฉัน

$ aptitude show qt5-default
บอกอย่างนั้น

แพ็คเกจนี้ตั้งค่า Qt 5 เป็นเวอร์ชัน Qt เริ่มต้นที่จะใช้เมื่อใช้ไบนารีการพัฒนาเช่น qmake มีการกำหนดค่าเริ่มต้นสำหรับ qtchooser แต่ไม่ได้ป้องกันไม่ให้ใช้การติดตั้ง Qt ทางเลือกอื่น


1
คุณช่วยปฏิเสธการแก้ปัญหาของคุณเพิ่มเติมได้ไหม
user35443

3
คำตอบที่ได้รับการยอมรับไม่ใช่คำตอบเลย อันนี้น่าจะเป็นคำตอบที่ได้รับการยอมรับ
Thias

ต่อไปนี้ตั้งค่าการติดตั้งการพัฒนา qt5 ที่สมบูรณ์สำหรับฉัน: apt-get install qt5base-dev qtdeclarative5-dev qt5-qmake qt5-default qttools5-dev-tools จากนั้นตรวจสอบโดยใช้: qtchooser -print-env
Salil

30

which qmakeคุณสามารถตรวจสอบเส้นทางที่จะใช้ qmake

พิจารณาติดตั้งqt4-defaultหรือqt5-defaultขึ้นอยู่กับเวอร์ชันของ qt ที่คุณต้องการใช้

คุณยังสามารถใช้qtchooser - เสื้อคลุมที่ใช้เพื่อเลือกระหว่างเวอร์ชันไบนารีการพัฒนา Qt


2
สวัสดี @ Warthel4578 ขอบคุณคำตอบของคุณช่วยฉันทางอ้อมเนื่องจากฉันติดตั้ง qt4-qmake ฉันควรเรียกใช้ 'qt4-qmake' แทน 'qmake' (ฉันพบทั้งสองอย่างในเส้นทางไดเรกทอรี) ตอนนี้ใช้งานได้แล้ว :)
อยากรู้อยากเห็น

ขอบคุณ Warthel สิ่งนี้ช่วยให้ฉันค้นพบว่าทำไม qmake ของฉันไม่ทำงาน qmake บน Ubuntu 14.04 เชื่อมโยงกับ qtchooser
Scone

ฉันได้รับคำตอบ SO นี้จากนั้นก็พบตามข้อผิดพลาดถัดไป ( no qtwebkit installation found) ที่ฉันต้องเรียกใช้apt-get install qt5-default libqt5webkit5-dev gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-xตามที่อธิบายไว้ในหน้าวิกิ Thoughtbot Github
sameers

16

สำหรับคนอื่น ๆ ในสถานการณ์ของฉันวิธีแก้ปัญหาคือ:

qmake -qt=qt5

นี่คือบน Ubuntu 14.04 หลังจากติดตั้ง qt5-qmake qmake เป็น symlink ไปยัง qtchooser ซึ่งใช้อาร์กิวเมนต์ -qt


8

ในฐานะผู้ดูแลของ Debian Qt โปรดให้ฉันแนะนำให้คุณไม่ใช้ qtx-default โปรดอ่านหน้า man ของ qtchooser คำอธิบายวิธีแก้ปัญหาอยู่ที่นั่น หากคุณสนใจที่จะบรรจุแอปพลิเคชันคุณสามารถดูโพสต์บล็อกนี้ที่ฉันได้อธิบายวิธีการทำไว้


5
คุณช่วยอธิบายได้ไหมว่าทำไมเราไม่ควรใช้ qtx-default qtchooser manpage ช่วยให้ฉันเข้าใจว่าเกิดอะไรขึ้น แต่ฉันไม่เห็นว่าทำไมการมีแพคเกจการจัดหาค่าเริ่มต้นจึงเป็นปัญหา
Robie Basak

2
คงจะดีไม่น้อยหากรวม qmake-qtX ภายใต้เวอร์ชัน qt ที่เกี่ยวข้อง การดึงชิ้นส่วนเหล่านี้ค่อนข้างยุ่งยาก
Xofo

@RobieBasak สิ่งที่แน่นอน: สมมติว่าคุณติดตั้ง qt5-default จากนั้นเรียกใช้แอปพลิเคชัน qt4 ซึ่งเรียกใช้ qdbus คุณได้รับ qdbus ของ qt5 ซึ่งควรใช้งานได้ แต่ไม่รับประกันว่าจะทำ
lisandro

1
แน่นอนว่าเป็นข้อผิดพลาดในการที่แอปพลิเคชัน qt4 เรียกใช้ qdbus หรือในสภาพแวดล้อมที่แอปพลิเคชัน qt4 ถูกเรียกใช้แทนที่จะเป็นตัวเลือกของฉันที่ต้องการ qt5 โดยค่าเริ่มต้นจาก CLI ของฉัน
Robie Basak

สิ่งแรก: qdbus อาจเป็นตัวอย่างที่ไม่ดี สมมติว่าต้นน้ำตัดสินใจที่จะไม่เปลี่ยนชื่อเครื่องมือพื้นฐานของ Qt ด้วยการเปลี่ยนแปลง 4 ถึง 5 ดังนั้นจึงเป็นไปไม่ได้ที่จะทราบล่วงหน้าว่าแอปจะทำงานเวอร์ชันใดยกเว้นคุณมี qtchooser อยู่ตรงกลาง แต่ qtchooser แม้ว่าจะเป็นความพยายามที่ดี แต่ก็ขาดในหลาย ๆ ที่อย่างน้อยก็ในโลกดิสโทร ตามหลักการแล้วควรเรียกคืนแต่ละแอปหลังจากเวอร์ชันหลักหรือความเข้ากันได้
lisandro

8

ฉันมีปัญหาในการสร้างอัญมณีทับทิมจัสมินหัวขาดเว็บกิต แม้จะมีการติดตั้ง qt4 แล้วqmake(symlink to qtchooser) ก็ยืนยันว่าไม่รู้เกี่ยวกับการติดตั้ง QT OTOH มันสามารถแสดงรายการ qt4 ได้เมื่อถูกถามโดยตรง

สิ่งนี้ทำให้ทุกอย่างดีขึ้น:

export QT_SELECT=qt4

qtchooser รู้แล้วว่าจะใช้ qmake-qt4 และอื่น ๆ


สมบูรณ์แบบ! ฉันมีปัญหาเดียวกันเมื่อพยายามติดตั้ง qBittorrent และของฉันได้รับการแก้ไขด้วยexport QT_QMAKE=/usr/bin. ไม่มีทางรู้ว่าตัวแปรสภาพแวดล้อมเหล่านั้นจะกลับมากัดกินยาเมื่อไหร่!
Alex Ryan

4

ค้นหาว่าqmake-qt4อยู่ที่ไหน:

which qmake-qt4

ตัวอย่างเช่น qmake-qt4 อยู่ในเส้นทางนี้:

/usr/bin/qmake-qt4

สร้างลิงก์สัญลักษณ์:

cd /usr/local/sbin/
ln -s /usr/bin/qmake-qt4 .
mv qmake-qt4 qmake

ความนับถือ


นี้เป็นทางออกที่ดีเมื่อคุณเพียงต้องการqmakeและไม่ต้องการสภาพแวดล้อมที่เต็มไปด้วย QT
Tom Saleeba

1

ฉันติดตั้ง qt4 แล้ว ฉันพบว่าการใช้เส้นทางต่อไปนี้ใช้ได้ผลสำหรับฉันแม้ว่า 'qmake' จะส่งคืน / usr / bin / qmake ซึ่งเป็นเพียงลิงก์ไปยัง qtchooser ก็ตาม

เส้นทางต่อไปนี้ใช้ได้กับฉันบนระบบ 64 บิต วิ่งจากเส้นทางเต็มของ:

/usr/lib/x86_64-linux-gnu/qt4/bin/qmake

จากคำตอบทั้งหมดนี่เป็นคำตอบเดียวที่ใช้งานได้จากระยะไกล /usr/lib/x86_64-linux-gnu/qt5/bin/qmakeยกเว้นฉันต้องการที่จะใช้
Akito

1
  • ติดตั้ง qt โดยใช้:

    sudo apt install qt5-qmake
    
  • เปิด~/.bashrcไฟล์:

    vim ~/.bashrc
    
  • เพิ่มเส้นทางด้านล่างไปยัง~/.bashrcไฟล์:

    export PATH="/opt/Qt/5.15.1/gcc_64/bin/:$PATH"
    
  • ดำเนินการ / โหลด~/.bashrcไฟล์ในเชลล์ปัจจุบันของคุณ

    source ~/.bashrc`
    
  • ลองตอนนี้qmakeโดยใช้คำสั่งเวอร์ชันด้านล่าง:

    qmake --version
    

0

ลิงก์สัญลักษณ์ไปยังเวอร์ชันที่ต้องการซึ่งกำหนดไว้ทั่วโลก:

sudo ln -s /usr/bin/qmake-qt5 /usr/bin/qmake

... หรือต่อผู้ใช้:

sudo ln -s /usr/bin/qmake-qt5 /home/USERNAME/.local/bin/qmake

... เพื่อดูว่าใช้งานได้หรือไม่:

qmake --version

จะเพิ่มความคิดเห็นได้อย่างไรทำไมคำตอบนี้จึงถูกโหวตไม่ลง? การไม่เข้าใจหรือใช้วิธีแก้ปัญหานั้นไม่ถือว่าเป็นเหตุผลที่ถูกต้อง ... ในขณะที่ฉันค่อนข้างมั่นใจว่ามันได้ผลเพราะฉันได้ผลเช่นนั้น
Martin Zeitler

1
การเพิ่มคะแนนโหวตในแบบของคุณเพราะฉันไม่ใช่คนฉลาดและฉันสร้างจากแหล่งที่มาจริงๆและคำตอบ symlink นี้เป็นการปิดเพื่อให้ฉันติดตามได้เพราะฉันลืมว่าฉันใช้นามแฝงว่า 'qmake' ขอบคุณ.
ขณะ -E

0

สำหรับ Qt 5.7 ของฉันให้เปิด QtCreator ไปที่ Tools -> Options -> Build & Run -> Qt Versions ให้ตำแหน่งของ qmake แก่ฉัน


0

หากผู้ช่วยถูกเรียกใช้จากเทอร์มินัลโดยตรงมันจะใช้เส้นทางเริ่มต้นโดยปกติคือ / usr / bin / ผู้ช่วย ฉันมีสถานการณ์ที่คล้ายกันเพื่อให้มันใช้งานได้สิ่งที่ฉันต้องทำคือค้นหาการติดตั้งจริงของเส้นทาง bin การติดตั้ง qt ของฉันเช่น xxx / Qt5.13.2 / 5.13.2 / gcc_64 / bin / พิมพ์ xxx / Qt5.13.2 /5.13.2/gcc_64/bin/assisstant โดยตรงจากเทอร์มินัล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.