2015-12-19 18 views
5

Tôi cần cung cấp một số mô-đun cho dự án.Cách sử dụng QML_IMPORT_PATH với Dự án Qt Cmake?

Bây giờ, nó tìm kiếm chúng trong thư mục QT (Tôi đã cài đặt nó trong $HOME), nhưng thay vì nó tôi muốn làm cho nó tìm kiếm trong /usr/lib/x86_64-linux-gnu/qt5/qml/.

Những gì tôi đã cố gắng:
a) Xác địnhQML_IMPORT_PATH trong .bashrc - đã không làm việc ra

b) sao chép mô-đun cần thiết trong $HOME/Qt5.5.1/Tools/QtCreator/bin/qml/:

Ở đây chúng ta có một cái gì đó khác nhau . Nếu tôi mở các tệp .qml - nó sẽ không gạch dưới import dòng (điều đó là ok). Nhưng, nếu tôi chạy thực thi với bảng điều khiển - cùng một thông báo module org.bla.bla is not installed.

Vì vậy, nếu sao chép không giúp được, có lẽ tôi đã phải thực hiện tìm kiếm QtCreator (hoặc tìm kiếm khác) cho các mô-đun trong thư mục thích hợp, nhưng làm cách nào?

UPD.
Vâng, bạn có thể xác định đường dẫn đến mô-đun của mình với QML2_IMPORT_PATH (không chỉ QML, nhưng QML2). Như tôi đã đề cập ở trên, tôi đã sao chép thư mục mô-đun trong $HOME/Qt5.5.1/Tools/QtCreator/bin/qml/ hoàn toàn sai! Cách đúng là sao chép nó trong $QT_HOME/5.5/gcc_64/qml/. Nó chạy ngay bây giờ tốt, nhưng tôi không thể nói giống nhau về "làm thế nào" nó hoạt động. Thật không may, điều này không liên quan đến câu hỏi tôi đã hỏi. Vì vậy, tôi sẽ không yêu cầu người khác trả lời câu hỏi của tôi, nhưng sẽ không đóng nó cho đến khi tìm thấy vấn đề thực sự và đề cập đến nó ở đây, vì vậy tôi có thể giúp đỡ người khác.

Trả lời

4

Với QtCreator 4.1 sắp tới và mới, bạn sẽ có thể thực hiện điều đó. Chỉ cần đặt QML_IMPORT_PATH trong bộ nhớ cache CMake của bạn. Nếu bạn có nhiều đường dẫn, hãy tách chúng bằng một ;, đó chỉ là cách danh sách được thực hiện trong CMake.

list(APPEND QML_DIRS "dir1") 
list(APPEND QML_DIRS "dir2") 
set(QML_IMPORT_PATH "${QML_DIRS}" CACHE STRING "Qt Creator 4.1 extra qml import paths") 
+0

Cảm ơn. Tôi sẽ xem xét nó và có vẻ như ok để tôi đánh dấu câu hỏi này là câu trả lời. – pushandpop

Các vấn đề liên quan