我如何向 qmake 提供精确的指令以使用 MSVC lib.exe 构建 lib 文件,例如“lib.exe /DEF:mylib.def /OUT:mylib.lib

问题描述 投票:0回答:1

我想知道如何为 qmake 提供精确的特定于平台的指令,以使用 MSVC 工具构建库文件。

我希望能够从下载的第三方库(特别是SQLite 3,直接下载包括.dll和.def文件)构建.lib。 [我对直接从 SQLite C 源代码构建不感兴趣。] 我知道我基本上可以通过“lib.exe /def:sqlite3.def /out:sqlite3.lib”为 MSVC 平台构建一个 .lib ...但我想知道如何将此步骤合并到自动化(基于 qmake 的)构建过程中,而不是手动执行。

visual-c++ qmake
1个回答
0
投票

因此,您不会从源代码构建任何内容,而是向现有项目添加一些自定义中间目标。可以这样做:

# 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
© www.soinside.com 2019 - 2024. All rights reserved.