{"id":3354,"date":"2017-10-16T12:38:07","date_gmt":"2017-10-16T19:38:07","guid":{"rendered":"https:\/\/visualgdb.com\/w\/?p=3354"},"modified":"2017-10-16T12:38:07","modified_gmt":"2017-10-16T19:38:07","slug":"building-visualgdb-makefile-projects-with-team-foundation-server","status":"publish","type":"post","link":"https:\/\/visualgdb.com\/tutorials\/ci\/tfs\/make\/","title":{"rendered":"Building VisualGDB Makefile projects with Team Foundation Server"},"content":{"rendered":"<p>This tutorial shows how to build non-MSBuild VisualGDB projects using Team Foundation Server. In this mode you don&#8217;t need a separate Visual Studio installation on your build server (although you still need a separate license of VisualGDB if you want to make use of the VisualGDB logic for uploading sources, synchronizing settings and running custom actions).<\/p>\n<p>If you haven&#8217;t configured TFS yet, we recommend following our <a href=\"https:\/\/visualgdb.com\/tutorials\/ci\/tfs\/\">basic TFS integration tutorial<\/a> first. In this tutorial we will use 2 machines: <strong>server<\/strong> that will run the TFS build agent and <strong>client<\/strong> that will be used for editing the projects in Visual Studio.<\/p>\n<ol>\n<li>Install TFS on the <strong>server<\/strong> and configure the build agent. Copy the contents of the <strong>C:\\Program Files (x86)\\Sysprogs\\VisualGDB<\/strong> folder on the <strong>client<\/strong> to an arbitrary location on the <strong>server<\/strong>. Then run <strong>VisualGDB.exe \/about<\/strong> to enter your license details or <strong>VisualGDB.exe \/intro<\/strong> to start a trial on the build server:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/01-about.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3355\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/01-about.png\" alt=\"01-about\" width=\"516\" height=\"423\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/01-about.png 516w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/01-about-300x246.png 300w\" sizes=\"(max-width: 516px) 100vw, 516px\" \/><\/a>Note that using VisualGDB with TFS requires version 5.3R3 or later.<\/li>\n<li>Set the VISUALGDB_DIR environment variable to point to the VisualGDB directory and run the build agent on the server: <a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/02-run.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3356\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/02-run.png\" alt=\"02-run\" width=\"979\" height=\"512\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/02-run.png 979w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/02-run-300x157.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/02-run-390x205.png 390w\" sizes=\"(max-width: 979px) 100vw, 979px\" \/><\/a>If you are running the build agent as a service, ensure that the VISUALGDB_DIR variable is set globally on the machine where the agent runs.<\/li>\n<li>On the <strong>client<\/strong> begin creating a new VisualGDB project inside your TFS checkout directory (see <a href=\"https:\/\/visualgdb.com\/tutorials\/ci\/tfs\/\">this tutorial<\/a> for details on setting up a TFS project and creating a local checkout):<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/03-newprj.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3357\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/03-newprj.png\" alt=\"03-newprj\" width=\"941\" height=\"653\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/03-newprj.png 941w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/03-newprj-300x208.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/03-newprj-392x272.png 392w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/03-newprj-130x90.png 130w\" sizes=\"(max-width: 941px) 100vw, 941px\" \/><\/a>The techniques shown in this tutorial will work for different project types, however we will use a basic Linux project do demonstrate it.<\/li>\n<li>On the first page of the wizard select &#8220;Create a new project&#8221; and then pick a build system other than MSBuild. Using TFS with MSBuild would require installing Visual Studio on the build server and is described in <a href=\"https:\/\/visualgdb.com\/tutorials\/ci\/tfs\/\">the TFS MSBuild tutorial<\/a> while this tutorial focuses on projects that can be built without Visual Studio:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/04-make.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3358\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/04-make.png\" alt=\"04-make\" width=\"822\" height=\"662\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/04-make.png 822w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/04-make-300x242.png 300w\" sizes=\"(max-width: 822px) 100vw, 822px\" \/><\/a><\/li>\n<li>On the next page select your computer and toolchain:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/05-machine.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3359\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/05-machine.png\" alt=\"05-machine\" width=\"822\" height=\"662\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/05-machine.png 822w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/05-machine-300x242.png 300w\" sizes=\"(max-width: 822px) 100vw, 822px\" \/><\/a><\/li>\n<li>Proceed with the default settings for uploading source files:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/06-storefiles.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3360\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/06-storefiles.png\" alt=\"06-storefiles\" width=\"822\" height=\"662\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/06-storefiles.png 822w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/06-storefiles-300x242.png 300w\" sizes=\"(max-width: 822px) 100vw, 822px\" \/><\/a>If you want to avoid multiple users uploading source files to the same directory, you can use the $(USERNAME) macro in the &#8216;remote directory&#8217; field.<\/li>\n<li>Press &#8220;Finish&#8221; to generate a project. Ensure that it builds by selecting Build-&gt;Build Solution:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/07-build.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3361\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/07-build.png\" alt=\"07-build\" width=\"1231\" height=\"840\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/07-build.png 1231w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/07-build-300x205.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/07-build-1024x699.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/07-build-130x90.png 130w\" sizes=\"(max-width: 1231px) 100vw, 1231px\" \/><\/a><\/li>\n<li>Switch to the Team Explorer tab and select the &#8220;Pending Changes&#8221; view. Visual Studio will automatically show the relevant files from the VisualGDB project. Check them in by pressing &#8220;Check in&#8221;:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/08-checkin.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3362\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/08-checkin.png\" alt=\"08-checkin\" width=\"1231\" height=\"840\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/08-checkin.png 1231w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/08-checkin-300x205.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/08-checkin-1024x699.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/08-checkin-130x90.png 130w\" sizes=\"(max-width: 1231px) 100vw, 1231px\" \/><\/a><\/li>\n<li>Now we will show how to configure TFS to build the VisualGDB project without Visual Studio. This can be done by invoking VisualGDB.exe manually, however we also provide an <a href=\"https:\/\/github.com\/sysprogs\/TFSIntegration\/\">open-source TFS extension<\/a> that simplifies this process. Logon to your Team Foundation Server via a browser, click the shopping cart icon and select &#8220;Manage Extensions&#8221;. Then click &#8220;Browse Local Extensions&#8221;:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/09-browselocal1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3377\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/09-browselocal1.png\" alt=\"09-browselocal\" width=\"1231\" height=\"840\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/09-browselocal1.png 1231w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/09-browselocal1-300x205.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/09-browselocal1-1024x699.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/09-browselocal1-130x90.png 130w\" sizes=\"(max-width: 1231px) 100vw, 1231px\" \/><\/a><\/li>\n<li>Scroll to the bottom of the page and click &#8220;Manage Extensions&#8221;:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/10-manage.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3364\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/10-manage.png\" alt=\"10-manage\" width=\"1231\" height=\"840\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/10-manage.png 1231w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/10-manage-300x205.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/10-manage-1024x699.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/10-manage-130x90.png 130w\" sizes=\"(max-width: 1231px) 100vw, 1231px\" \/><\/a><\/li>\n<li>Finally click &#8220;Upload a new extension&#8221;:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/11-upload.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3365\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/11-upload.png\" alt=\"11-upload\" width=\"1231\" height=\"840\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/11-upload.png 1231w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/11-upload-300x205.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/11-upload-1024x699.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/11-upload-130x90.png 130w\" sizes=\"(max-width: 1231px) 100vw, 1231px\" \/><\/a><\/li>\n<li>Download the <a href=\"https:\/\/github.com\/sysprogs\/TFSIntegration\/releases\/\">latest release of the VisualGDB build extension<\/a> and point your TFS console to its location. Finally select it in the extension list and click &#8220;Install&#8221;:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/12-install.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3366\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/12-install.png\" alt=\"12-install\" width=\"1231\" height=\"840\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/12-install.png 1231w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/12-install-300x205.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/12-install-1024x699.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/12-install-130x90.png 130w\" sizes=\"(max-width: 1231px) 100vw, 1231px\" \/><\/a><\/li>\n<li>Select your TFS collection in the installation confirmation dialog and click &#8220;Confirm&#8221;:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/13-confirm.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3367\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/13-confirm.png\" alt=\"13-confirm\" width=\"1231\" height=\"840\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/13-confirm.png 1231w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/13-confirm-300x205.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/13-confirm-1024x699.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/13-confirm-130x90.png 130w\" sizes=\"(max-width: 1231px) 100vw, 1231px\" \/><\/a><\/li>\n<li>Now you can create a new build using the VisualGDB extension. Go to the &#8220;Build &amp; Release&#8221; tab in your TFS console and create a new build. Then click &#8220;start with -&gt; Empty Process&#8221;:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/14-newempty1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3378\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/14-newempty1.png\" alt=\"14-newempty\" width=\"1231\" height=\"840\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/14-newempty1.png 1231w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/14-newempty1-300x205.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/14-newempty1-1024x699.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/14-newempty1-130x90.png 130w\" sizes=\"(max-width: 1231px) 100vw, 1231px\" \/><\/a><\/li>\n<li>Locate &#8220;VisualGDB Build&#8221; on the Build tab and click &#8220;Add&#8221;:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/15-addvgdb.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3369\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/15-addvgdb.png\" alt=\"15-addvgdb\" width=\"1231\" height=\"840\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/15-addvgdb.png 1231w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/15-addvgdb-300x205.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/15-addvgdb-1024x699.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/15-addvgdb-130x90.png 130w\" sizes=\"(max-width: 1231px) 100vw, 1231px\" \/><\/a><\/li>\n<li>In the VisualGDB build settings select the files inside your TFS project that should be built. VisualGDB stores its configuration in the .vgdbsettings files for most of the projects (one file per configuration) and in the .vgdbcmake files for projects using the <a href=\"https:\/\/visualgdb.com\/tutorials\/linux\/cmake\/\">Advanced CMake Project Subsystem<\/a> (one file per project). The default settings will build all CMake projects and the release configurations of the non-CMake projects:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/16-buildrel.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3370\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/16-buildrel.png\" alt=\"16-buildrel\" width=\"1231\" height=\"840\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/16-buildrel.png 1231w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/16-buildrel-300x205.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/16-buildrel-1024x699.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/16-buildrel-130x90.png 130w\" sizes=\"(max-width: 1231px) 100vw, 1231px\" \/><\/a>If you have any .vgdbcmake projects in your repository, set Configuration Name to &#8220;Release&#8221;.<\/li>\n<li>Try running the newly created build. The VisualGDB build extension will automatically locate VisualGDB.exe via the %VISUALGDB_DIR% variable, but the build will fail because the connection settings for Linux machines are stored on each developer machine separately and the build server does not have an entry yet:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/17-conn.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3371\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/17-conn.png\" alt=\"17-conn\" width=\"1231\" height=\"840\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/17-conn.png 1231w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/17-conn-300x205.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/17-conn-1024x699.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/17-conn-130x90.png 130w\" sizes=\"(max-width: 1231px) 100vw, 1231px\" \/><\/a><\/li>\n<li>The easiest way to transfer the Linux machine settings to the build server is using the Team Settings mechanism (requires Custom edition or higher). On the <strong>client<\/strong> machine select Tools-&gt;VisualGDB-&gt;Manage Team Settings:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/18-team.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3372\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/18-team.png\" alt=\"18-team\" width=\"1231\" height=\"840\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/18-team.png 1231w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/18-team-300x205.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/18-team-1024x699.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/18-team-130x90.png 130w\" sizes=\"(max-width: 1231px) 100vw, 1231px\" \/><\/a><\/li>\n<li>Select a directory accessible from both <strong>client<\/strong> and <strong>server<\/strong> where you would like to store the shared settings (e.g. a shared folder on either machine):<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/19-autobuild.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3373\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/19-autobuild.png\" alt=\"19-autobuild\" width=\"686\" height=\"493\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/19-autobuild.png 686w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/19-autobuild-300x216.png 300w\" sizes=\"(max-width: 686px) 100vw, 686px\" \/><\/a><\/li>\n<li>Then go to the &#8220;Remote Hosts&#8221; page and share the settings for the Linux machine used in build. Check the &#8220;shared password with other users&#8221; checkbox as otherwise VisualGDB will ask for the password on first build:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/20-sharepass.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3374\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/20-sharepass.png\" alt=\"20-sharepass\" width=\"686\" height=\"493\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/20-sharepass.png 686w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/20-sharepass-300x216.png 300w\" sizes=\"(max-width: 686px) 100vw, 686px\" \/><\/a><\/li>\n<li>Go back to the TFS build settings and specify the shared folder with the team settings in the &#8220;Team Settings Folder&#8221; field:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/21-teamdir.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3375\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/21-teamdir.png\" alt=\"21-teamdir\" width=\"1231\" height=\"840\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/21-teamdir.png 1231w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/21-teamdir-300x205.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/21-teamdir-1024x699.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/21-teamdir-130x90.png 130w\" sizes=\"(max-width: 1231px) 100vw, 1231px\" \/><\/a><\/li>\n<li>Now you can simply queue the build again and it will succeed:<a href=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/22-build.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3376\" src=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/22-build.png\" alt=\"22-build\" width=\"1231\" height=\"840\" srcset=\"https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/22-build.png 1231w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/22-build-300x205.png 300w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/22-build-1024x699.png 1024w, https:\/\/visualgdb.com\/w\/wp-content\/uploads\/2017\/10\/22-build-130x90.png 130w\" sizes=\"(max-width: 1231px) 100vw, 1231px\" \/><\/a>Each time you use a new Linux machine (or a different toolchain), simply share it via the Team Settings window and VisualGDB will automatically configure it on the build machine without any further manual setup.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>This tutorial shows how to build non-MSBuild VisualGDB projects using Team Foundation Server. In this mode you don&#8217;t need a<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[149],"tags":[150],"_links":{"self":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/3354"}],"collection":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/comments?post=3354"}],"version-history":[{"count":1,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/3354\/revisions"}],"predecessor-version":[{"id":3379,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/posts\/3354\/revisions\/3379"}],"wp:attachment":[{"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/media?parent=3354"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/categories?post=3354"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/visualgdb.com\/w\/wp-json\/wp\/v2\/tags?post=3354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}