Qt的 - 不要主版本号追加到可执行文件/库名结束(Qt - Don't append ma

2019-07-19 02:49发布

如何才能停止从Qt的重命名我的DLL来MyDLLName{MAJOR_VERSION_NUM}.dll

当我设置这只发生VERSION在我的项目文件,但我也想设置的版本。 举例来说,如果我有:

VERSION = 1.2.3.4

和我的图书馆被命名为MyDll ,它会在debug文件夹中创建为我的DLL MyDLL1.dll 。 如果我参加了版本号了,它让我想它(的名字MyDLL.dll )。

谢谢。

Answer 1:

用这个:

CONFIG += skip_target_version_ext


Answer 2:

看到这个答案(上SO)为什么它的存在: 为什么库名称在其名称中附加的0?

你可以在“未设置”的版本,从生成的名称中删除它,但你确定要这么做? (它的存在,以避免DLL地狱。)

“正确回答”是, LIB模板添加的版本号。

另外,还要注意:

  • VERSION用于定义VER_MAJVER_MIN
  • msvc_nmake发生器增加/VERSION:major.minor如果链接标志!空
  • msvc_vcproj产生增加/VERSION:major.minor到标志和链接MSVCPROJ_VERSION如果!空

您可以显式设置的自己,或“未设置”任何人。

你可以明确地删除与目标名称的版本号TARGET_EXT变量,例如,参见: http://qt-project.org/faq/answer/how_can_i_add_version_information_to_my_application

如果你想创建自己的插件来决定如何生成目标名称(不带版本号),你可以使自己的插件作为在这个答案描述(上SO): 如何避免.so文件名具有版本号



文章来源: Qt - Don't append major version number to the end of executable/library name