如何使用 QMake 获取平台相关的输出文件名?
How to get platform dependent output filename with QMake?
假设我有一个qmake工程文件*.pro
:
# some stuff ...
TARGET = my_binary
# other stuff...
include( $$PWD/post.pri )
在 post.pri
文件中(因为我想重用这个 *.pri
文件所做的一切),我想获得 complete 名称的输出文件。
例如,如果是 app
,那么在 windows 上我想得到 my_binary.exe
并且在 linux 上 my_binary
。或者,如果该项目是一个共享库,我想分别获得 my_binary.dll
或 libmy_binary.so
。如果是静态库,则相同,我希望 my_binary.lib
和 libmy_binary.a
.
我已经尝试了 未记录 qmake 变量 QMAKE_FILE_OUT
但没有成功。
您可以在 .pro 脚本中执行此操作:
load(resolve_target)
message($$QMAKE_RESOLVED_TARGET)
它将根据您的平台和项目 TEMPLATE 输出构建路径和目标名称。
假设我有一个qmake工程文件*.pro
:
# some stuff ...
TARGET = my_binary
# other stuff...
include( $$PWD/post.pri )
在 post.pri
文件中(因为我想重用这个 *.pri
文件所做的一切),我想获得 complete 名称的输出文件。
例如,如果是 app
,那么在 windows 上我想得到 my_binary.exe
并且在 linux 上 my_binary
。或者,如果该项目是一个共享库,我想分别获得 my_binary.dll
或 libmy_binary.so
。如果是静态库,则相同,我希望 my_binary.lib
和 libmy_binary.a
.
我已经尝试了 未记录 qmake 变量 QMAKE_FILE_OUT
但没有成功。
您可以在 .pro 脚本中执行此操作:
load(resolve_target)
message($$QMAKE_RESOLVED_TARGET)
它将根据您的平台和项目 TEMPLATE 输出构建路径和目标名称。