如何在Qt Creator项目向导中添加自定义构建步骤?

时间:2015-11-08 05:30:31

标签: c++ qt templates qt-creator custom-build-step

我以前有一个项目模板,当我在Visual Studio中编码时,但现在我必须使用Qt Creator并发现它有一些非常相似的东西,称为“项目向导”。我需要有文本文件,它将被复制到build文件夹,并通过添加新的构建步骤解决它,但我无法理解如何在项目向导文件中添加新的构建步骤。 所以,我把一个“plaincpp”项目向导作为基础,它没有任何cmake文件可以改变。我还发现,Qt Creator在* .pro.user文件中存储构建步骤。

2 个答案:

答案 0 :(得分:2)

您可以将QMAKE_POST_LINK += /path/to/some/script/or/binary添加到your_project.pro文件并编写一个简单的bash脚本或任何您想要执行的内容,以复制您的文件。

答案 1 :(得分:1)

如@ 0x35所述,您可以使用 QMAKE_POST_LINK += <arguments>  将它放在.pro文件中的任何位置。 (在Windows上,这种方法有时需要先干净)。

@hoholok(以及一些研究)的评论所暗示的其他论据:

  • 使用$$OUT_PWD
  • 找到当前的构建目录
  • 使用$$PWD
  • 的源目录
  • .pro文件目录$$_PRO_FILE_PWD_
  • 要使用这些参数从目录上升,请使用../例如:$${OUT_PWD}/../otherFolder/

对于 Windows 用户,上面给出的目录使用正斜杠。这反过来导致构建失败。正斜杠应该变成两个反斜杠。 ex(在解决方案.pro文件中工作):

Directory_to_Use = some_Directory #initialization for linux directory
PWD_WIN = $${OUT_PWD} #Set PWD_WIN to output directory
win32 # this code only executes on a windows machine
{
    Directory_to_Use = C:\\_Dev\\Qt\5.9.1\\mingw53_32\\bin #change linux path to the windows path
    PWD_WIN ~= s,/,\\,g #change all forward slashes into double backslashes
}
QMAKE_POST_LINK += COPY $$Directory_to_Use\\Qt5* $$PWD_WIN\\debug   #command that works on both linux and windows

此代码示例代码段将Qt安装目录中的所有Qt dll复制到项目构建目录中。

如果需要在构建后执行多个命令,只需添加另一个QMAKE_POST_LINK += <arguments>,或者甚至将其置于for循环中,如下所示: for loop in .pro file