简体   繁体   English

如何配置Jenkins以使用Qt构建解决方案?

[英]How to configure Jenkins to build solutions with Qt?

I'm about to switch from CruiseControl.NET to Jenkins. 我将要从CruiseControl.NET切换到Jenkins。

My problem with the build process is the error " QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly ." 我在构建过程中遇到的问题是错误“ QtMsBuild:无法找到qt.targets,qt.props;项目可能无法正确构建 。” I have already tried several solutions but without success. 我已经尝试了几种解决方案,但没有成功。 Changing the build methods ( NAnt/MSBuild ) also produces the same error message. 更改生成方法( NAnt / MSBuild )也会产生相同的错误消息。 In Visual Studio under Project Properties ( C/C++ > Additional Include Directories ) I noticed that QTDIR is not known although it exists as an environment variable (as an example instead of {QTDIR}\\include I only get \\include). 在Visual Studio的“项目属性”(“ C / C ++”>“附加包含目录” )下,我注意到QTDIR尽管作为环境变量存在(尽管它不是{QTDIR} \\ include的示例,但我仅得到\\ include),但它还是未知的。

I am using: Qt 5.9.0, MS Visual Studio 2015, Qt Visual Studio Tools (V2.3.2) 我正在使用:Qt 5.9.0,MS Visual Studio 2015,Qt Visual Studio工具(V2.3.2)

In the past I have tried on using an older version of the Visual Studio Tools plugin how the developers recommend. 过去,我尝试过使用开发人员推荐的旧版Visual Studio Tools插件。 I also checked the paths and set environments variables. 我还检查了路径并设置了环境变量。 Giving Jenkins the path " C:\\Users\\user\\AppData\\Local\\QtMsBuild " as parameter does not changed anything. 给Jenkins路径“ C:\\ Users \\ user \\ AppData \\ Local \\ QtMsBuild ”作为参数不会更改任何内容。

I do not want to copy the files from " C:\\Users\\user\\AppData\\Local\\QtMsBuild " into each build directory, because at ccnet it's working. 我不想将文件从“ C:\\ Users \\ user \\ AppData \\ Local \\ QtMsBuild复制到每个构建目录中,因为在ccnet上它可以正常工作。

How can I solve this problem? 我怎么解决这个问题?

For me this solutions works: 对我来说,此解决方案有效:

  1. add QTDIR and QtMsBuild at the NAnt build process as properties in Jenkins 在NAnt构建过程中将QTDIRQtMsBuild添加为Jenkins中的属性

Example: 例:

QtMsBuild=C:\\Users\\user\\AppData\\Local\\QtMsBuild
QTDIR=D:\\Qt 5.9.0\\qtbase
  1. extend the NAnt script with a <setenv> block <setenv>块扩展NAnt脚本

Example: 例:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM