Как я могу дать точные инструкции qmake для создания файла lib с использованием MSVC lib.exe, например, "lib.exe /DEF:mylib.def /OUT:mylib.lib - PullRequest
0 голосов
/ 20 июня 2019

Я хочу знать, как дать qmake точные инструкции для конкретной платформы для создания файла библиотеки с использованием инструментов MSVC.

Я хочу иметь возможность создавать .lib из загруженной сторонней библиотеки (в частности, SQLite 3, прямая загрузка включает файлы .dll и .def). [Я НЕ заинтересован в сборке непосредственно из источника SQLite C.] Я знаю, что могу создать .lib для платформы MSVC в основном с помощью "lib.exe /def:sqlite3.def /out:sqlite3.lib" ... но я хотел бы знать, как включить этот шаг в процесс автоматической сборки (на основе qmake), а не делать это вручную.

1 Ответ

0 голосов
/ 20 июня 2019

Таким образом, вы не собираетесь создавать что-либо из исходных текстов, а скорее добавляете некоторую настраиваемую промежуточную цель в существующий проект.Это можно сделать так:

# paths to our files
SQLITE3LIB = sqlite3.lib
SQLITE3DLL = sqlite3.dll

# an extra target for make
lsql.target = $$SQLITE3LIB
lsql.depends = $$SQLITE3DLL
lsql.commands = $$QMAKE_LIB /out:$$SQLITE3LIB $$SQLITE3DLL
QMAKE_EXTRA_TARGETS += lsql

# add a (makefile-)dependency for our main target
PRE_TARGETDEPS += $$SQLITE3LIB
...