如何阻止Qt将我的DLL重命名为MyDLLName{MAJOR_VERSION_NUM}.dll
?
只有在我的项目文件中设置VERSION
时才会发生这种情况,但我也想设置版本。例如,如果我有:
VERSION = 1.2.3.4
我的库名为MyDll
,它将在调试文件夹中创建我的DLL MyDLL1.dll
。如果我取走版本号,它会保留我想要的名称(MyDLL.dll
)。
感谢。
答案 0 :(得分:8)
使用此:
CONFIG += skip_target_version_ext
答案 1 :(得分:6)
请参阅此答案(在SO上)了解原因:Why library name gets an additional 0 in its name?
您可以“不设置”版本将其从生成的名称中删除,但是您确定要这样做吗? (这是为了避免DLL地狱。)
“正确答案”是LIB
模板正在添加版本号。
另外,请注意:
VERSION
用于定义VER_MAJ
和VER_MIN
/VERSION:major.minor
添加到链接标志
/VERSION:major.minor
链接标记和MSVCPROJ_VERSION
if!empty 您可以自己明确设置,或“取消设置”其中任何一个。
您可以使用TARGET_EXT
变量从目标名称中明确删除版本号,例如,请参阅:http://qt-project.org/faq/answer/how_can_i_add_version_information_to_my_application
如果你想创建自己的插件来决定如何生成目标名称(没有版本号),你可以按照这个答案(在SO上)所述制作你自己的插件:How to avoid having version numbers in .so file name