Appveyor - 编译静态qt5.10应用程序(使用openssl和qml webview)

时间:2018-05-21 11:05:49

标签: qt static qt5 appveyor

我正在尝试在我的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静态构建?我想为用户创建“随时可用”的包吗?

1 个答案:

答案 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安装脚本)