我正在开发一个应该使用QtCreator和Qt 5.3在Windows,Linux和OS X上构建的应用程序 . 我想将文件夹中的所有文件和子文件夹复制到输出文件夹中 . 我已经将它用于Linux和OS X,但不适用于Windows . 这是我的.pro文件的相关部分:
win32 {
PWD_WIN = $${PWD}
DESTDIR_WIN = $${OUT_PWD}
copyfiles.commands = $$quote(cmd /c xcopy /S /I $${PWD_WIN}\copy_to_output $${DESTDIR_WIN})
}
macx {
copyfiles.commands = cp -r $$PWD/copy_to_output/* $$OUT_PWD
}
linux {
copyfiles.commands = cp -r $$PWD/copy_to_output/* $$OUT_PWD
}
QMAKE_EXTRA_TARGETS += copyfiles
POST_TARGETDEPS += copyfiles
我在Windows上遇到的错误是“参数数量无效” .
2 回答
如果使用
message($${PWD})
查看$${PWD}
变量,您将看到/
作为目录分隔符,即使在Windows中也是如此 . 您必须将其转换为本机目录分隔符:Build @Murat's answer,Qt实际上has built-in functions将文件路径转换为本地系统的首选项 .
称之为:
$$shell_path($$clean_path( <your path> ))
,或$$clean_path()
将分频器转换回Linux风格的分频器 .这适用于Windows: