【发布时间】:2013-09-06 17:32:42
【问题描述】:
我想在使用 qmake 构建 静态库 时为链接器提供选项。假设我想在使用 MSVC 构建时获得详细的链接器输出。项目文件如下:
# 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 的任何平台上对其进行测试。这在 Qt 4.8.4 和 5.1.1 的 qmake 上重现。 mkspec 中给出的 msvc 版本无关紧要。
【问题讨论】: