2

我曾经有一个项目模板,当我在 Visual Studio 中编码时,但现在我必须使用 Qt Creator 并发现它有一些非常相似的东西,称为“项目向导”。我需要有文本文件,它将被复制到构建文件夹,并通过添加新的构建步骤来解决它,但我不明白如何在项目向导文件中添加新的构建步骤。因此,我采用了一个“plaincpp”项目向导作为基础,并且没有任何 cmake 文件需要更改。我还发现,Qt Creator 将构建步骤存储在 *.pro.user 文件中。

4

2 回答 2

2

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

于 2015-11-08T09:51:23.070 回答
2

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

@hoholok(和一些研究)的评论暗示的其他论点:

  • 当前构建目录使用$$OUT_PWD
  • 源目录使用$$PWD
  • .pro 文件目录$$_PRO_FILE_PWD_
  • 要使用这些参数从目录上升,请使用../ex:$${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 dll 从我的 Qt 安装目录复制到项目构建目录中。

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

于 2017-10-11T08:46:56.370 回答