2013-09-06 2 views
6

Я хочу предоставить варианты компоновщику при создании статической библиотеки с использованием qmake. Скажем, я хотел бы получить многословный компоновщик при создании с помощью MSVC. Файл проекта выглядит следующим образом:Как предоставить параметры компоновщика при связывании статической библиотеки с qmake?

# mylib.pro 
TEMPLATE = lib 
TARGET = mylib 
CONFIG += staticlib 
QT += core 
win32-msvc*: QMAKE_LFLAGS += /VERBOSE 
unix: QMAKE_LFLAGS += -v 

Это весь файл проекта. Это должно привести к пустой статической библиотеке, в которой нет объектов.

Не установлено ни QMAKE_LFLAGS, ни QMAKE_LFLAGS_STATIC_LIB, ни LIBS не имеет никакого отношения к компоновщику. Ничто не установлено в этих переменных, даже делает его в Makefile. Если бы QMAKE_LFLAGS работал, я ожидал увидеть /VERBOSE или -v, переданный компоновщику в командной строке, в зависимости от конкретной платформы.

Не имеет значения, какой генератор makefile используется, это поведение кажется последовательным. Две интересующие платформы.

qmake -spec win32-msvc2008 
qmake -spec macx-llvm 

Благодаря кросс-платформенной природе QMAKE, вы можете проверить его на любой платформе, где вам случится быть установлен Qt. Это воспроизводится на qmake как из Qt 4.8.4, так и 5.1.1. Версия msvc, указанная в mkspec, не имеет значения.

ответ

4

Проекты staticlib, LFLAGS не передаются в компоновщик. Фактически, нет документального способа передачи таких флагов.

Решение зависит от генератора.

Для msvc_nmake, LIBFLAGS вместо этого передаются компоновщику. Для получения подробного вывода, вы можете добавить

QMAKE_LIBFLAGS += /VERBOSE 

Чтобы убедиться, что она работает на любой системе, вы можете вызвать qmake -spec win32-msvc2008; конкретная версия msvc не имеет значения.

Для unixmake, AR используется для вызова компоновщика, поэтому вам нужно добавить флаги в QMAKE_AR. Для получения подробного вывода, вы можете добавить

QMAKE_AR += -v 

Чтобы проверить, вызовите qmake -spec macx-llvm; любая другая спецификация unix должна работать.

Смежные вопросы