Search code examples
c++msbuildvisual-studio-2017appveyor

Setting AppVeyor's C++ Language Standard


I'm trying to use AppVeyor to build a Visual Studio 2017 project that uses some c++17 features. I have the project's language standard set to c++latest, so it compiles fine in my local Visual Studio, but AppVeyor isn't able to successfully build it. I get a bunch of errors like this:

error C7525: inline variables require at least '/std:c++17'

Here's the AppVeyor page and here's the contents of my YAML file.

version: 1.0.{build}
image: Visual Studio 2017 Preview

init:
- ps: >-
    cd "C:\Program Files (x86)\Microsoft Visual Studio\Preview\Community\VC\Tools\MSVC\14.14.26428\include"

    svn checkout https://github.com/Microsoft/GSL/trunk/include/gsl

    cd C:\projects\fireemblem
environment:
  matrix:
   - additional_flags: "/std:c++latest"

before_build:
  - set CXXFLAGS=%additional_flags%

build:
  verbosity: normal

Solution

  • Make sure that <LanguageStandard>stdcpplatest</LanguageStandard> is set for each of the configurations in your project file instead of just the win32 Debug configuration.