我想知道如何为 qmake 提供精确的特定于平台的指令,以使用 MSVC 工具构建库文件。
我希望能够从下载的第三方库(特别是SQLite 3,直接下载包括.dll和.def文件)构建.lib。 [我对直接从 SQLite C 源代码构建不感兴趣。] 我知道我基本上可以通过“lib.exe /def:sqlite3.def /out:sqlite3.lib”为 MSVC 平台构建一个 .lib ...但我想知道如何将此步骤合并到自动化(基于 qmake 的)构建过程中,而不是手动执行。
因此,您不会从源代码构建任何内容,而是向现有项目添加一些自定义中间目标。可以这样做:
# 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