GoingNative 54: What's New In Visual Studio 2017 RC and Introduction To Vcpkg

Play GoingNative 54: What's New In Visual Studio 2017 RC and Introduction To Vcpkg

The Discussion

  • User profile image

    All this looks really cool. Especially such things as CMake support and seamless dependencies install (Vcpkg). Though, I have certain questions:
    - Specifying dependencies for a project and make build system pull+build them in project's build?
    - Multiple versions of the same lib for different projects?
    - Lock files (like Bundler, Cargo) for reproducible builds?
    - Make project's deps' public include folders available to dependent project, without conflicts?
    - Custom sources for Vcpkg (like direct Git, or local repository)?

  • User profile image

    Hi Igor, thanks for the questions!


    1. We recommend either

      a) A prebuild action which runs "vcpkg install <x> <y> <z>" for every package you'd like to depend on

      b) (for open source projects) A readme doc which gives users a one-liner for each platform you support: apt-get, brew, yum, vcpkg, pacman, etc.

    2. Vcpkg is completely relocatable and you can have completely independent version sets side-by-side. We didn't mention it in the video, but every vcpkg enlistment has a props file that you can use to override the "user-wide" system we demoed.

    3. We wield the "ports\" directory as our Lock file -- it specifies exactly what versions are desired and how to build them. For closed source projects, vcpkg is perfectly suitable to be either checked in directly or included via submodule/subtree.

    4. I'm not 100% sure what you mean here, but the intention is that every library in vcpkg is made available to every part of your "process" (so, exe + any dlls). In this way, it serves to make libraries look and feel like the Windows SDK.

    5. Today, you can drop in (or override) any additional ports you'd like into the "ports\" directory and they'll instantly become available. In the future, we do want to support this scenario better though! We have an active issue on GitHub to discuss it and I'd love to have your perspective: https://github.com/Microsoft/vcpkg/issues/114


    I hope these answered your questions; please also check out our FAQ (https://github.com/Microsoft/vcpkg/blob/master/docs/FAQ.md) and join us on GitHub to shape the future! :)

  • User profile image

    Any chance to get Vcpkg going with new VC++ 2017?

  • User profile image


    Hi Repka, you can use libraries generated by vcpkg in VS 2017 today, but you need VS 2015 to build the libraries. We are working on enabling the 2017 toolset for builds so that you'll have complete VS 2017 support. The goal is to have that ready by the time of the final RTW release.

Add Your 2 Cents