2010-05-12 20 views
14

Tôi đang sử dụng Qt 4.5 trong Windows XP. Tệp chuyên nghiệp của tôi có biến số VERSION = 1.0. Bây giờ tôi cần đọc biến này và nhận giá trị của nó (1.0) từ mã nguồn. Vì vậy, tôi không phải duy trì một biến khác cho phiên bản bên trong mã nguồn của mình. Tôi chỉ đọc từ tập tin chuyên nghiệp và cập nhật nó. Vì vậy, giá trị vẫn nhất quán trên tất cả các dự án của tôi. Có thể không? Bất kỳ con trỏ về vấn đề này đều được chào đón ..Lấy các giá trị từ các tệp chuyên nghiệp trong Qt

Trả lời

17

Sử dụng somethings như thế này:

DEFINES += VERSION=\\\"$$VERSION\\\" 

này sẽ xác định một macro mà bạn có thể sử dụng trong mã nguồn C. Loại bỏ các dấu gạch chéo ngược và dấu ngoặc kép nếu bạn muốn một số, không phải là một chuỗi.

1

Tôi sẽ giải thích thêm về điều này một chút.

Trong YourApp.pro:

VERSION = 0.0.0.1 
DEFINES += APP_VERSION=\\\"$$VERSION\\\" 

Trong main.cpp:

#include <QApplication> 
QCoreApplication::setApplicationVersion(QString(APP_VERSION)); 

Bất cứ nơi nào khác trong nguồn của bạn, ví dụ trong tưởng tượng controller.cpp:

#include <QApplication> 
QString yourAppVersion = QCoreApplication::applicationVersion(); 
Các vấn đề liên quan