我正在尝试编写一个Qt应用程序,该应用程序将用于QProcess
调用ffmpeg.exe
以转换媒体文件。我无法找出最好的方法来确保将ffmpeg.exe
文件从开发目录复制到构建目录,以使已构建(以及以后部署)的应用程序可以访问该文件。
我已经INSTALLS
在.pro文件(https://stackoverflow.com/a/13168287)中看到了有关使用参数的信息,但是qmake文档说:
请注意,qmake将跳过可执行文件。
综上所述,如何确保我要使用的exe文件QProcess
最终出现在构建目录中(准备在以后部署)?
QMAKE_POST_LINK
构建应用程序后,您可以用来执行复制命令。只需将其放在您的.pro文件中:
win32:{
file_pathes += "\"$$PWD/Path/To/Files/ffmpeg.exe\""
CONFIG(release, debug|release):{
destination_pathes += $$OUT_PWD/release/
destination_pathes += Path/To/Deploy/Directory
}
else:CONFIG(debug, debug|release):{
destination_pathes += $$OUT_PWD/debug/
}
for(file_path,file_pathes){
file_path ~= s,/,\\,g
for(dest_path,destination_pathes){
dest_path ~= s,/,\\,g
QMAKE_POST_LINK += $$quote(xcopy $${file_path} $${dest_path} /I /Y $$escape_expand(\n\t))
}
}
}
您应该将要复制到的文件的路径添加到file_pathes
变量中,并将目标目录的路径添加到destination_pathes
变量中。然后,在构建应用程序时,所有文件都将被复制到所有目标位置。
ffmpeg.exe
在发布模式下,将此处复制到应用程序的构建和部署目录,在调试模式下,将其复制到应用程序的构建和部署目录。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句