Tôi muốn cung cấp các tùy chọn cho trình liên kết khi xây dựng thư viện tĩnh sử dụng qmake. Nói rằng tôi muốn có được đầu ra liên kết tiết khi xây dựng với MSVC. Tệp dự án trông như sau:Cách cung cấp tùy chọn trình liên kết khi liên kết thư viện tĩnh với qmake?
# mylib.pro
TEMPLATE = lib
TARGET = mylib
CONFIG += staticlib
QT += core
win32-msvc*: QMAKE_LFLAGS += /VERBOSE
unix: QMAKE_LFLAGS += -v
Đó là toàn bộ tệp dự án. Nó sẽ dẫn đến một thư viện tĩnh rỗng không có đối tượng trong đó.
Đặt không QMAKE_LFLAGS
cũng không QMAKE_LFLAGS_STATIC_LIB
cũng không LIBS
có bất kỳ ảnh hưởng nào lên trình liên kết. Không có gì được đặt trong các biến thậm chí làm cho nó vào Makefile. Nếu QMAKE_LFLAGS
hoạt động, tôi hy vọng sẽ thấy /VERBOSE
hoặc -v
được chuyển đến trình liên kết trên dòng lệnh, khi thích hợp cho nền tảng nhất định.
Việc sử dụng trình tạo giả lập không quan trọng, hành vi này có vẻ nhất quán. Hai nền tảng quan tâm là.
qmake -spec win32-msvc2008
qmake -spec macx-llvm
Do tính chất đa nền tảng của qmake, bạn có thể kiểm tra nó trên bất kỳ nền tảng nào bạn đã cài đặt Qt. Điều này tái tạo trên qmake từ cả Qt 4.8.4 và 5.1.1. Phiên bản msvc được đưa ra trong mkspec không quan trọng.