qmake: không thể tìm thấy bản cài đặt Qt của ''


136

Tôi có một phần mềm trong Ubuntu yêu cầu tôi chạy qmake để tạo Makefile.

Tuy nhiên, chạy qmake sẽ trả lại lỗi này,

qmake: could not find a Qt installation of ''

Tôi đã cài đặt những gì tôi nghĩ là các gói cần thiết bằng cách sử dụng,

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

Nhưng lỗi không biến mất.

Bất kỳ trợ giúp về điều này sẽ được vui mừng đánh giá cao!


6
Hãy thử chạy sudo apt-get install qtcreator. Nó cài đặt SDK Qt đầy đủ + IDE. Nó nên thêm mọi thứ bạn cần.
sashoalm

Xin chào @sashoalm, cảm ơn rất nhiều, dường như tôi còn thiếu các gói khác. Bây giờ nó hoạt động: D
Tò mò

6
Đây không phải là một giải pháp tốt vì nó sẽ cài đặt nhiều gói không cần thiết.
Scone

Câu trả lời:


177

sudo apt-get install qt5-default làm việc cho tôi

$ aptitude show qt5-default
nói rằng

Gói này đặt Qt 5 là phiên bản Qt mặc định sẽ được sử dụng khi sử dụng các nhị phân phát triển như qmake. Nó cung cấp một cấu hình mặc định cho qtchooser, nhưng không ngăn cài đặt Qt thay thế được sử dụng.


1
Bạn có thể vui lòng giải mã giải pháp của bạn nhiều hơn?
dùng35443

3
câu trả lời được chấp nhận hoàn toàn không phải là một câu trả lời. Điều này nên là câu trả lời được chấp nhận.
thias

Sau đây thiết lập cài đặt phát triển qt5 hoàn chỉnh cho tôi: apt-get install qt5base-dev qtdeclarative5-dev qt5-qmake qt5-default qttools5-dev-tools Sau đó kiểm tra bằng cách sử dụng: qtchooser -print-env
Salil

29

Bạn có thể kiểm tra đường dẫn đến qmake bằng cách sử dụng which qmake.

Xem xét cài đặt qt4-defaulthoặc qt5-defaultphụ thuộc vào phiên bản qt bạn muốn sử dụng.

Bạn cũng có thể sử dụng qtchooser - một trình bao bọc được sử dụng để chọn giữa các phiên bản nhị phân phát triển Qt.


2
Xin chào @ Warthel4578, cảm ơn, câu trả lời của bạn đã giúp tôi gián tiếp, vì tôi đã cài đặt qt4-qmake, tôi nên đã gọi 'qt4-qmake' thay vì 'qmake' (tôi tìm thấy cả hai trong đường dẫn thư mục). Bây giờ nó hoạt động :)
Tò mò

Cảm ơn Warthel điều này đã giúp tôi khám phá lý do tại sao qmake của tôi không hoạt động. qmake trên Ubuntu 14.04 đã được liên kết với qtchooser
Scone

Tôi đã nhận được câu trả lời SO này, sau đó được tìm thấy, dựa trên lỗi tiếp theo ( no qtwebkit installation found) mà tôi cũng phải chạy apt-get install qt5-default libqt5webkit5-dev gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-xnhư được mô tả trên trang wiki Th Thinkbot Github
cùng

15

Đối với những người khác trong tình huống của tôi, giải pháp là:

qmake -qt=qt5

Đây là trên Ubuntu 14.04 sau khi cài đặt qt5-qmake. qmake là một liên kết tượng trưng đến qtchooser có tham số -qt.


8

Vì người bảo trì Debian Qt vui lòng cho phép tôi đề nghị bạn không sử dụng qtx-default. Xin vui lòng đọc trang người đàn ông của qtchooser, giải pháp được mô tả ở đó. Nếu bạn quan tâm đến việc đóng gói một ứng dụng, bạn cũng có thể xem bài đăng trên blog này tôi đã giải thích cách thực hiện


5
Bạn có thể giải thích tại sao chúng ta không nên sử dụng qtx-default không? Trang chủ qtchooser giúp tôi hiểu những gì đang diễn ra, nhưng tôi không hiểu tại sao việc cung cấp gói mặc định là một vấn đề.
Robie Basak

2
Sẽ thật tuyệt nếu qmake-qtX được gói dưới phiên bản qt có liên quan. Kéo trong những mảnh này là một chút rườm rà.
Xofo

@RobieBasak điều chắc chắn: giả sử bạn cài đặt qt5 mặc định. Sau đó, bạn chạy một ứng dụng qt4 gọi qdbus. Bạn nhận được qdbus của qt5, sẽ hoạt động nhưng không được bảo hành.
lisandro

1
Chắc chắn đó là một lỗi trong cách ứng dụng qt4 gọi qdbus hoặc trong môi trường ứng dụng qt4 đã chạy, thay vì lựa chọn của tôi muốn qt5 theo mặc định từ CLI của tôi?
Robie Basak

Điều đầu tiên: có thể qdbus là một ví dụ tồi. Giả sử ngược dòng quyết định không đổi tên các công cụ cơ bản của Qt với thay đổi 4 đến 5. Vì vậy, không thể biết trước ứng dụng sẽ chạy phiên bản nào ngoại trừ bạn có qtchooser ở giữa. Nhưng qtchooser, ngay cả khi đó là một nỗ lực tốt đẹp, vẫn bị thiếu ở một số nơi, ít nhất là trong thế giới distro. Lý tưởng nhất là mỗi ứng dụng nên được thu hồi sau khi giữ lại phiên bản chính hoặc khả năng tương thích.
lisandro

8

Tôi gặp vấn đề này khi xây dựng viên ngọc Ruby jasmine-headless-webkit. Mặc dù đã cài đặt qt4, qmake(một liên kết tượng trưng qtchooser) khẳng định nó không biết về cài đặt QT. OTOH, nó đã có thể liệt kê qt4 khi được hỏi trực tiếp.

Điều này làm cho mọi thứ tốt hơn:

export QT_SELECT=qt4

qtchooser sau đó biết sử dụng qmake-qt4, v.v.


Hoàn hảo! Tôi đã gặp vấn đề tương tự khi cố gắng cài đặt qBittorrent và tôi đã được giải quyết export QT_QMAKE=/usr/bin. Không bao giờ biết khi nào các biến môi trường sẽ quay trở lại để cắn ya!
Alex Ryan

4

Tìm kiếm ở đâu là qmake-qt4 :

which qmake-qt4

Ví dụ: qmake-qt4 nằm trong đường dẫn này:

/usr/bin/qmake-qt4

Tạo liên kết tượng trưng:

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

Trân trọng


Đây là một giải pháp tuyệt vời khi bạn chỉ muốn qmakevà không muốn có một môi trường qt đầy đủ.
Tom Saleeba

1

Tôi đã cài đặt qt4. Tôi thấy rằng việc sử dụng đường dẫn sau đây có hiệu quả với tôi, mặc dù 'mà qmake' quay trở lại / usr / bin / qmake, dù sao đây cũng chỉ là một liên kết đến qtchooser.

Đường dẫn sau hoạt động với tôi, trên hệ thống 64 bit. Chạy từ đường dẫn đầy đủ của:

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

Trong tất cả các câu trả lời, đây thực sự là câu trả lời duy nhất hoạt động từ xa. Ngoại trừ tôi cần sử dụng /usr/lib/x86_64-linux-gnu/qt5/bin/qmake.
Akito

0

Một liên kết tượng trưng đến phiên bản mong muốn, được xác định trên toàn cầu:

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

... hoặc mỗi người dùng:

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

... để xem nó có hoạt động không:

qmake --version

làm thế nào để thêm một bình luận, tại sao câu trả lời này đã bị bỏ phiếu? không hiểu hoặc áp dụng giải pháp không chính xác đủ điều kiện là lý do hợp lệ ... trong khi tôi khá chắc chắn rằng nó hoạt động, bởi vì tôi có nó hoạt động như vậy.
Martin Zeitler

1
Ném upvote theo cách của bạn bởi vì tôi không phải là người thích ứng dụng và tôi thực sự xây dựng từ nguồn, và câu trả lời liên kết tượng trưng này đã đóng cửa để giúp tôi đi đúng hướng vì tôi quên rằng tôi đã đặt bí danh cho 'qmake' của mình. Cảm ơn.
While-E

0

Đối với Qt 5.7 của tôi, hãy mở QtCreator, đi đến Công cụ -> Tùy chọn -> Xây dựng & Chạy -> Phiên bản Qt đã cho tôi vị trí của qmake.


0

nếu trợ lý được chạy trực tiếp từ thiết bị đầu cuối, nó sẽ sử dụng đường dẫn mặc định, thường là / usr / bin / trợ lý. Tôi đã gặp tình huống tương tự, để làm cho nó hoạt động, tất cả những gì tôi phải làm là tìm cài đặt thực tế của đường dẫn bin cài đặt qt của mình, như xxx / Qt5.13.2 / 5.13.2 / gcc_64 / bin /, loại xxx / Qt5.13.2 /5.13.2/gcc_64/bin/ramestant trực tiếp từ thiết bị đầu cuối

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.