如何在 Qt Creator 项目向导中添加自定义构建步骤?
How can i add a custom build step in Qt Creator project wizard?
我曾经有一个项目模板,当我在 Visual Studio 中编码时,但现在我必须使用 Qt Creator 并发现它有一些非常相似的东西,叫做 "Project Wizard"。我需要有文本文件,它将被复制到构建文件夹,并通过添加新的构建步骤来解决它,但我不明白如何在项目向导文件中添加新的构建步骤。
所以,我以 "plaincpp" 项目向导为基础,它没有任何要更改的 cmake 文件。我还发现,Qt Creator 在 *.pro.user 文件中存储构建步骤。
您可以将 QMAKE_POST_LINK += /path/to/some/script/or/binary
添加到 your_project.pro
文件并编写一个简单的 bash 脚本或您想要执行的任何内容来复制您的文件。
如@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.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 复制到项目构建目录中。
如果需要执行多个命令 post 构建只需添加另一个 QMAKE_POST_LINK += <arguments>
或者甚至将其放入 for 循环中,如下所示:
for loop in .pro file.
我曾经有一个项目模板,当我在 Visual Studio 中编码时,但现在我必须使用 Qt Creator 并发现它有一些非常相似的东西,叫做 "Project Wizard"。我需要有文本文件,它将被复制到构建文件夹,并通过添加新的构建步骤来解决它,但我不明白如何在项目向导文件中添加新的构建步骤。 所以,我以 "plaincpp" 项目向导为基础,它没有任何要更改的 cmake 文件。我还发现,Qt Creator 在 *.pro.user 文件中存储构建步骤。
您可以将 QMAKE_POST_LINK += /path/to/some/script/or/binary
添加到 your_project.pro
文件并编写一个简单的 bash 脚本或您想要执行的任何内容来复制您的文件。
如@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.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 复制到项目构建目录中。
如果需要执行多个命令 post 构建只需添加另一个 QMAKE_POST_LINK += <arguments>
或者甚至将其放入 for 循环中,如下所示:
for loop in .pro file.