ОБНОВЛЕНИЕ: образец матрицы
блиотека C ++. Мы боремся с AppVeyor и Visual Studio сборками с сборками x64. Образы сборки Visual Studio для Win32 испытывают ту же проблему, но по какой-то [неизвестной] причине они завершаются успешно.
Мы пытаемся использовать образ сборки Visual Studio 2015 (среди прочего):
Когда мы проверяем командную строку, оказывается, что мы используем компилятор Visual Studio 2010 (Visual Studio 10.0 является VS2010):
Наш конфигурационный файл AppVeyor находится по адресуNoloader GitHub | .appveyor.yml, Это также показано ниже.
Все проходит через.appveyor.yml
, Там нет скрытых настроек, которые влияют на вещи (или мы не верим в это). Мы хотим все в.appveyor.yml
так что люди могут клонировать это, и вещи «просто работают» для них.
Файлы проекта находятся в GitHub по адресуcryptest.vcxproj
а такжеcryptlib.vcxproj
, Файлы * .vcxproj используют жестко$(DefaultPlatformToolset)
какпредложено @stinj, (РЕДАКТИРОВАТЬ: DefaultPlatformToolset
- уже нет. Мы полностью убралиDefaultPlatformToolset
а такжеPlatformToolset
).
Результаты сборки проекта находятся по адресуNoloader AppVeyor | cryptopp, Это источник снимков экрана.
Почему используются неправильные инструменты сборки и как мы можем это исправить?
Когда я избегаю$(DefaultPlatformToolset)
и жестко закодировать значение набора инструментов платформы, это вызывает еще одну ошибку. Например, ниже приведен образ сборки Visual Studio 2015. Он умирает, когда версия набора инструментов установлена наv140
, который является значением версии VS2015. Это сбивает с толку.
(Совершить ac513c06f8c8 в конечном итоге был возвращен, потому что он сломал вещи хуже, чем раньше).
Когда мы полностью удалим все следыPlatformToolset
а такжеDefaultPlatformToolset
в наших файлах VCXPROJ это приводит к той же ошибке. Ниже приведен образ сборки Visual Studio 2017.
version: 1.0.{build}
clone_depth: 3
configuration:
- Debug
- Release
platform:
- Win32
- x64
image:
- Visual Studio 2017
- Visual Studio 2015
- Visual Studio 2013
build: off
test_script:
- cmd: >-
msbuild /t:Build /p:platform=%platform%;configuration=%configuration% cryptlib.vcxproj
msbuild /t:Build /p:platform=%platform%;configuration=%configuration% cryptest.vcxproj
msbuild /t:CopyCryptestToRoot cryptest.vcxproj
cryptest.exe v
cryptest.exe tv all
matrix:
exclude:
# - platform: x64
# configuration: Debug
# - platform: x64
# configuration: Release
- image: Visual Studio 2010
- image: Visual Studio 2017
notifications:
- provider: Email
to:
- [email protected]
on_build_success: true
on_build_failure: true