Trong dự án Qt 4, tôi xây dựng trình cài đặt Windows bằng cách sử dụng Cài đặt Inno. Các thư viện cần thiết (qsqlite.dll, qjpeg4.dll, vv) được bao gồm trong kịch bản với các biến CMake như QT_QSQLITE_PLUGIN_RELEASE
hoặc QT_QJPEG_PLUGIN_RELEASE
.Nhận đường dẫn của Qt 5 bổ sung
ví dụ: setup.iss.in:
[Files]
Source: "myapp.exe"; DestDir: {app}
Source: "${QT_QSQLITE_PLUGIN_RELEASE}"; DestDir: {app}/sqldrivers
Source: "${QT_QJPEG_PLUGIN_RELEASE}"; DestDir: {app}/imageformats
Bây giờ dự án cần chuyển sang Qt5. Tất cả mọi thứ hoạt động tốt, nhưng tôi không thể tìm thấy các biến được xác định trước để có được tương đương Qt5 cho các đường dẫn plugin này. Tất nhiên, tôi có thể mã hóa chúng, nhưng tôi đang tìm cách xác định nó một cách sạch sẽ và độc lập.
Không chắc chắn về một câu trả lời, nhưng bạn có thể kiểm tra tất cả các biến sử dụng kỹ thuật mô tả trong [này Trả lời] (http://stackoverflow.com/a/9328525/424459) – Fraser
Vâng, tôi đã sử dụng chính xác macro này để tìm các biến được đề cập bên dưới với Qt4. Nhưng sử dụng như vậy, tôi không thể tìm thấy tương đương Qt5. Tất cả các công cụ cmake đã được viết lại cho phiên bản mới của khung và một số thông tin được lưu trữ dưới dạng thuộc tính đích. Nhưng tôi đã không tìm thấy bất kỳ cách nào để gỡ lỗi các thuộc tính trên các mục tiêu Qt5. – Antwane