Làm cách nào để thêm đường dẫn bao gồm trong Qt Creator?


160

Tôi có một dự án tôi đang thực hiện trong trình tạo Qt yêu cầu thư viện của bên thứ ba. Tôi muốn thêm các tiêu đề vào đường dẫn bao gồm cho dự án. Làm thế nào để tôi làm điều này?

Câu trả lời:


231

Nếu bạn đang sử dụng qmake, hệ thống xây dựng Qt tiêu chuẩn, chỉ cần thêm một dòng vào .protệp như được ghi trong Tài liệu tham khảo biến qmake :

INCLUDEPATH += <your path>

Nếu bạn đang sử dụng hệ thống xây dựng của riêng mình, bạn tạo một dự án bằng cách chọn "Nhập dự án dựa trên Makefile". Điều này sẽ tạo ra một số tệp trong thư mục dự án của bạn bao gồm một tệp có tên <your project name>.includes. Trong tệp đó, chỉ cần liệt kê các đường dẫn bạn muốn đưa vào, mỗi đường dẫn. Thực sự tất cả những điều này là nói với Qt Creator nơi tìm tệp để lập chỉ mục để hoàn thành tự động. Hệ thống xây dựng của riêng bạn sẽ phải xử lý các đường dẫn bao gồm theo cách riêng của nó.

Như được giải thích trong Hướng dẫn tạo Qt , <your path>phải là một đường dẫn tuyệt đối, nhưng bạn có thể tránh các mục nhập cụ thể của OS-, host- hoặc người dùng trong .protệp của mình bằng cách sử dụng $$PWDtham chiếu đến thư mục chứa .protệp của bạn , ví dụ:

INCLUDEPATH += $$PWD/code/include

2
Được chứ. Điều này sẽ làm việc cho tôi tốt. Có một thiết lập toàn cầu cho các đường dẫn bao gồm?
Nathan Osman

Không phải tôi biết, nhưng điều đó không có nghĩa là không có. Tôi không thấy bất cứ điều gì trong các tùy chọn trông như thế.
Jason B

3
Đừng bận tâm. Câu trả lời của bạn đề cập INCLUDE_PATHnhưng bạn có nghĩa INCLUDEPATH. Tôi sẽ sửa câu trả lời của bạn :)
Nathan Osman

6
QMAKE_CXXFLAGSThay vào đó, tốt hơn là sử dụng các biến, bởi vì đó INCLUDEPATHlà lỗi (ít nhất là tại thời điểm hiện tại - QT5). Tức là khi tôi đưa vào INCLUDEPATH += ../../../, thư mục QT chỉ được chọn ngẫu nhiên trong đường dẫn này và trình biên dịch có tùy chọn -I../../../GUI.
Hi-Angel

4
@ Hi-Angel: Có vẻ như INCLUDEPATHchỉ định là liên quan đến thư mục xây dựng, không liên quan đến thư mục với cái .promà người ta có thể dễ dàng giả định. Như thể hiện trong phần chỉnh sửa của tôi đối với câu trả lời, bạn có thể sử dụng `$$ PWD 'để có được một thư mục được xác định rõ ràng để bắt đầu đường dẫn bao gồm.
ssc

6

Để thêm toàn cầu bao gồm đường dẫn, hãy sử dụng lệnh tùy chỉnh cho qmake trong phần Dự án / Xây dựng / Xây dựng các bước trong "Đối số bổ sung" như thế này: "QT+=your_qt_modules" "DEFINES+=your_defines"

Tôi nghĩ rằng bạn có thể sử dụng bất kỳ lệnh nào từ các tệp * .pro theo cách đó.


5

Đối với bất kỳ ai hoàn toàn mới đối với Qt Creator như tôi, bạn có thể sửa đổi tệp .pro của dự án từ bên trong Qt Creator:

nhập mô tả hình ảnh ở đây

Chỉ cần nhấp đúp vào "tên dự án của bạn" .pro trong cửa sổ Dự án và thêm đường dẫn bao gồm ở cuối tệp .pro như tôi đã làm.


5
Sử dụng đường dẫn tệp tuyệt đối là một ý tưởng rất xấu. Luôn luôn cố gắng sử dụng hệ thống đường dẫn tập tin tương đối. QT được thiết kế để trở thành nền tảng chéo. Và nếu bạn biên dịch cùng mã trên máy Linux, trình biên dịch sẽ không tìm thấy các tên tệp như C: \ Hơn nữa, ngay cả khi bạn đổi tên thư mục nguồn hoặc di chuyển nó sang một nơi khác trên máy tính của mình, nó vẫn sẽ thất bại, và bạn sẽ phải chỉnh sửa tệp .pro mọi lúc
Shivam Jha

0

Nếu bạn sử dụng Makefiles tùy chỉnh, bạn có thể nhấp đúp vào tệp .includes và thêm nó vào đó.

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.