{"id":12014,"date":"2019-08-30T09:54:17","date_gmt":"2019-08-30T17:54:17","guid":{"rendered":"http:\/\/devblogs.microsoft.com\/vsnews\/?p=12014"},"modified":"2019-08-30T09:54:17","modified_gmt":"2019-08-30T17:54:17","slug":"aa5ypn5","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/vsnews\/akams-aa5ypn5\/","title":{"rendered":"C++\u00a0Cross-Platform Development with Visual Studio 2019 version 16.3: vcpkg, CMake configuration, remote headers, and WSL"},"content":{"rendered":"<p><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">In Visual Studio 2019 you can target both Windows and Linux from the comfort of a single IDE<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">.\u00a0<\/span><\/span><a class=\"Hyperlink SCXW184084438 BCX0\" href=\"https:\/\/docs.microsoft.com\/en-us\/cpp\/build\/cmake-projects-in-visual-studio?view=vs-2019\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"TextRun Underlined SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW184084438 BCX0\">Visual Studio\u2019s native support for CMake<\/span><\/span><\/a><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">\u00a0<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"ContextualSpellingAndGrammarError SCXW184084438 BCX0\">lets<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">\u00a0you<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">\u00a0open any folder containing C++ code and a CMakeLists.txt file\u00a0<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">directly in Visual Studio\u00a0<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">to<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">\u00a0edit, build, and debug your\u00a0<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"SpellingError SCXW184084438 BCX0\">CMake<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">\u00a0project on<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">\u00a0Windows<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">,<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">\u00a0Linux<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">, and\u00a0<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">the\u00a0<\/span><\/span><a class=\"Hyperlink SCXW184084438 BCX0\" href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/wsl\/about\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"TextRun Underlined SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW184084438 BCX0\">Windows Subsystem for Linux (WSL)<\/span><\/span><\/a><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">.<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">\u00a0<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">Visual Studio\u2019s\u00a0<\/span><\/span><a class=\"Hyperlink SCXW184084438 BCX0\" href=\"https:\/\/docs.microsoft.com\/en-us\/cpp\/linux\/create-a-new-linux-project?view=vs-2019\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"TextRun Underlined SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW184084438 BCX0\">MSBuild-based Linux support<\/span><\/span><\/a><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">\u00a0allows you\u00a0<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">to create a<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">nd debug <\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">console applications<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\"> that execute on a remote Linux system or\u00a0<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun CommentStart SCXW184084438 BCX0\">WSL<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">.<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">\u00a0<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">For\u00a0<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">either<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">\u00a0of these scenarios<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">,<\/span><\/span><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">\u00a0the\u00a0<\/span><\/span><a class=\"Hyperlink SCXW184084438 BCX0\" href=\"https:\/\/docs.microsoft.com\/en-us\/cpp\/linux\/download-install-and-setup-the-linux-development-workload?view=vs-2019\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"TextRun Underlined SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW184084438 BCX0\">Linux development with C++ workload<\/span><\/span><\/a><span class=\"TextRun SCXW184084438 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW184084438 BCX0\">\u00a0is required.\u00a0<\/span><\/span><span class=\"EOP SCXW184084438 BCX0\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Visual Studio 2019 you can target both Windows and Linux from the comfort of a single IDE.\u00a0Visual Studio\u2019s native support for CMake\u00a0lets\u00a0you\u00a0open any folder containing C++ code and a CMakeLists.txt file\u00a0directly in Visual Studio\u00a0to\u00a0edit, build, and debug your\u00a0CMake\u00a0project on\u00a0Windows,\u00a0Linux, and\u00a0the\u00a0Windows Subsystem for Linux (WSL).\u00a0Visual Studio\u2019s\u00a0MSBuild-based Linux support\u00a0allows you\u00a0to create and debug console applications that [&hellip;]<\/p>\n","protected":false},"author":836,"featured_media":8227,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-12014","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allskus"],"acf":[],"blog_post_summary":"<p>In Visual Studio 2019 you can target both Windows and Linux from the comfort of a single IDE.\u00a0Visual Studio\u2019s native support for CMake\u00a0lets\u00a0you\u00a0open any folder containing C++ code and a CMakeLists.txt file\u00a0directly in Visual Studio\u00a0to\u00a0edit, build, and debug your\u00a0CMake\u00a0project on\u00a0Windows,\u00a0Linux, and\u00a0the\u00a0Windows Subsystem for Linux (WSL).\u00a0Visual Studio\u2019s\u00a0MSBuild-based Linux support\u00a0allows you\u00a0to create and debug console applications that [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/posts\/12014","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/users\/836"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/comments?post=12014"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/posts\/12014\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/media\/8227"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/media?parent=12014"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/categories?post=12014"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/vsnews\/wp-json\/wp\/v2\/tags?post=12014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}