【问题标题】:How to configure Jenkins to build solutions with Qt?如何配置 Jenkins 以使用 Qt 构建解决方案?
【发布时间】:2019-08-29 12:16:51
【问题描述】:

我即将从 CruiseControl.NET 切换到 Jenkins。

我在构建过程中遇到的问题是错误“QtMsBuild: could not locate qt.targets, qt.props; project may not build correct。” 我已经尝试了几种解决方案,但都没有成功。更改构建方法 (NAnt/MSBuild) 也会产生相同的错误消息。 在 Visual Studio 中的 Project Properties (C/C++ > Additional Include Directories) 我注意到 QTDIR 尽管它作为环境变量存在(作为示例而不是 { QTDIR}\include 我只得到\include)。

我正在使用: Qt 5.9.0、MS Visual Studio 2015、Qt Visual Studio 工具(V2.3.2)

过去我曾尝试过使用开发人员推荐的旧版 Visual Studio 工具插件。我还检查了路径并设置了环境变量。给 Jenkins 路径“C:\Users\user\AppData\Local\QtMsBuild”作为参数不会改变任何东西。

我不想将文件从“C:\Users\user\AppData\Local\QtMsBuild”复制到每个构建目录中,因为在 ccnet 它正在工作。

我该如何解决这个问题?

【问题讨论】:

  • 嗨,你检查过this thread。如果您在 VS 中构建项目,它会成功吗?之后,使用开发者命令提示符,结果如何?
  • 您好,感谢您的评论。 VS中的构建过程是成功的。我在 Jenkins 中添加了 QTDIR 和 QtMsBuild 作为属性,并使用 块扩展了 NAnt 脚本。这解决了问题。
  • 很高兴知道您的问题已经解决,感谢您分享您的解决方案!您可以将其添加为答案并标记它!祝你有美好的一天:)

标签: c++ visual-studio qt jenkins msbuild


【解决方案1】:

对我来说,这个解决方案有效:

  1. 在 NAnt 构建过程中添加 QTDIRQtMsBuild 作为 Jenkins 中的属性

例子:

QtMsBuild=C:\\Users\\user\\AppData\\Local\\QtMsBuild
QTDIR=D:\\Qt 5.9.0\\qtbase
  1. 使用 <setenv> 块扩展 NAnt 脚本

例子:

<setenv>
      <variable name="qtdir" value="${QTDIR}" />
      <variable name="qtmsbuild" value="${QtMsBuild}" />
</setenv>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-30
    • 2015-08-10
    • 2016-08-28
    • 1970-01-01
    • 2011-12-24
    • 2012-02-23
    相关资源
    最近更新 更多