我正在尝试在我的Qt项目上设置autobuild appveyor。 我的应用程序正在使用qt5.10.1,具有qml和openSSL功能。
我迷路了...我不知道从哪里开始:/
#1: 我找到了一些.apveyor.yml配置文件的例子,但他们都使用了mingw32 compilator,它不允许我使用qml webview模块(why)...我没找到我要写的东西我的appveyor配置文件用msv2017编译我的应用程序哪里是编译器?
实际上,我的appveyor.yml看起来就像那样(我尝试做的就像QtCreator在我的本地计算机上做的那样但它不起作用)
image: Visual Studio 2017
branches:
only:
- master
install:
- set QTDIR=C:\Qt\5.10.1\msvc2017_64
- set PATH=%QTDIR%\bin;C:\Qt\Tools\mingw530_32\bin;%PATH%;
build_script:
- qmake app/QRegovar.pro -spec win32-msvc
- qmake_all
- C:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile.Release
deploy:
- provider: GitHub
artifact: C:/projects/qregovar
draft: true
prerelease: false
on:
branch: master
appveyor_repo_tag: true
并且出现以下错误:
Build started
git clone -q --branch=master https://github.com/REGOVAR/QRegovar.git C:\projects\qregovar
git checkout -qf 7357eb2adab349c4de9e0b346dc99027964ea5a5
Running Install scripts
set QTDIR=C:\Qt\5.10.1\msvc2017_64
set PATH=%QTDIR%\bin;C:\Qt\Tools\mingw530_32\bin;%PATH%;
qmake app/QRegovar.pro -spec win32-msvc
Project ERROR: Cannot run compiler 'cl'. Output:
===================
===================
Maybe you forgot to setup the environment?
Command exited with code 3
#2: 我也想知道appveyor是否使用qt静态构建?我想为用户创建“随时可用”的包吗?
答案 0 :(得分:0)
我正在使用CMake,但我想诀窍是设置' cl'编译成PATH,所以qmake能够找到它。
在示例appveyor脚本中,主构建脚本是'。\ qtmodules-travis \ ci \ win \ build.bat'。此脚本将检查/使用AppVeyor矩阵定义的变量for platform(第7行),然后脚本定义VC_DIR等。
最后是调用你引用的脚本' build-msvc.bat'在哪里调用:
call %VC_DIR% %VC_VARSALL% || exit /B 1
QtCreator会为您进行设置(您正在使用套件......)
当您使用干净的命令行构建时,您应该在“qmake'之前”自己调用vcvarsXXX.bat。调用
在我看来,AppVeyor并没有为您触发此调用,因为开发人员可能希望使用不同的构建环境。设置(例如x86,x64,arm等)。这是你的选择。实际上,当你开始使用Qt命令行时,这也是一个暗示。在您的PC上从开始菜单(它调用' C:\ Qt \ 5.11.0 \ msvc2017_64 \ bit \ qtenv2.bat' shell安装脚本)