Qt 在';进行安装';结果为';系统找不到指定的文件';

Qt 在';进行安装';结果为';系统找不到指定的文件';,qt,makefile,copy,Qt,Makefile,Copy,我试图在安装过程中复制文件,它们都被复制了,但其中一个并没有假装文件不存在: copy /y C:\Qt\5.1.1\mingw48_32\bin\libstdc++-6.dll C:\Users\Aybe\Documents\GitHub\antimicro-aybe\antimicro\build-antimicro-Desktop_Qt_5_1_1_MinGW_32bit-Debug\release The system cannot find the file specified. Ma

我试图在安装过程中复制文件,它们都被复制了,但其中一个并没有假装文件不存在:

copy /y C:\Qt\5.1.1\mingw48_32\bin\libstdc++-6.dll C:\Users\Aybe\Documents\GitHub\antimicro-aybe\antimicro\build-antimicro-Desktop_Qt_5_1_1_MinGW_32bit-Debug\release
The system cannot find the file specified.
Makefile.Debug:14739: recipe for target 'install_imageformats' failed
mingw32-make[1]: [install_imageformats] Error 1 (ignored)
  • 如果我在文件名周围加上双引号,并将其粘贴到命令行中,则复制工作正常
  • 如果我使用8dot3表示法(
    libstd~1.dll
    ),副本也可以工作
使用的代码:

win32 {
    CONFIG(debug, debug|release) {
        DESTDIR = $$OUT_PWD/release
    } else {
        DESTDIR = $$OUT_PWD/debug
    }
    imageformats.path = $$DESTDIR
    imageformats.files += \
    $$[QT_INSTALL_BINS]\icudt51.dll \
    $$[QT_INSTALL_BINS]\icuin51.dll \
    $$[QT_INSTALL_BINS]\icuuc51.dll \
    $$[QT_INSTALL_BINS]\libgcc_s_dw2-1.dll \
    $$[QT_INSTALL_BINS]\libstdc++-6.dll \
    $$[QT_INSTALL_BINS]\libwinpthread-1.dll \
    $$[QT_INSTALL_BINS]\Qt5Core.dll \
    $$[QT_INSTALL_BINS]\Qt5Gui.dll \
    $$[QT_INSTALL_BINS]\Qt5Network.dll \
    $$[QT_INSTALL_BINS]\Qt5Widgets.dll
    INSTALLS += imageformats
}
我尝试了很多方法来转义
字符,但到目前为止都没有成功


如何在不使用8dot3名称的情况下成功复制该文件?

此问题称为QT Bug 16372:


正如您所说,使用libstd~1.dll(DOS文件名)暂时有效,因为该漏洞至今(2014年6月)仍未解决。

此问题称为QT漏洞16372:

正如您所说,使用libstd~1.dll(DOS文件名)暂时有效,因为该漏洞至今(2014年6月)仍未解决