通过 BAT 脚本将构建的 dll 文件移动到特定文件夹?

Move built dll file to specific folder by BAT script?

我正在使用 Qt Creator 在 windows 7 上构建一个共享库。因此它生成了一个

myLib.dll 和 myLib.lib

有没有办法让 myLib.dll 文件在创建后自动移动到特定目录?

根据 Qt Documentation - Variables.

完全成功编译后,这可以作为 post link 作业自动完成

在项目的 .pro 文件中添加如下一行:

QMAKE_POST_LINK += $(COPY_FILE) "$${DESTDIR_TARGET}$${TARGET_EXT}" "C:\Destination\Directory\For Created DLL"

或者当QMAKE解析用于创建[=16的行时DESTDIR之前没有在项目中定义或者DESTDIR_TARGET不存在=].

QMAKE_POST_LINK += $(COPY_FILE) "$${OUT_PWD}/$${TARGET}$${TARGET_EXT}" "C:\Destination\Directory\For Created DLL"

并且如果 $${TARGET_EXT} 被空字符串替换,请在上面的行中使用 fixed .dll 而不是 $${TARGET_EXT}

当然也可以 移动 DLL 而不是使用以下 3 行之一复制它:

QMAKE_POST_LINK += $(MOVE) "$${DESTDIR_TARGET}$${TARGET_EXT}" "C:\Destination\Directory\For Created DLL"
QMAKE_POST_LINK += $(MOVE) "$${OUT_PWD}/$${TARGET}$${TARGET_EXT}" "C:\Destination\Directory\For Created DLL"
QMAKE_POST_LINK += $(MOVE) "$${OUT_PWD}/$${TARGET}.dll" "C:\Destination\Directory\For Created DLL"

但在 Windows 上还有 QMAKE 变量 DLLDESTDIR 直接在 .pro 文件中指定一个目录,创建的 DLL 应该复制到该目录中在 linking.

之后
DLLDESTDIR="C:\Destination\Directory\For Created DLL"

注意:我无法测试此处为 Windows 编写的任何内容。我只能确认上面写的所有内容都不适用于 Linux,因为图书馆管理在 Linux 上与 Windows 完全不同。