Using Visual Studio to develop Linux apps
This tutorial demonstrates how to
build and debug Linux applications using Visual Studio.
To proceed with the tutorial you
will need a Windows machine and a Linux machine. You can use 2 physical
computers, a Windows computer running Linux inside VirtualBox/VMWare or vice
versa.
To create, build and debug a simple
Linux app using VisualGDB, please follow these steps:
- Please download and install the latest VisualGDB.
- On your Windows machine start Visual Studio, select
"File->New project". Then select "VisualGDB->Linux
Project Wizard". Specify project location and press "OK".
![http:///tutorials/linux/img/01-newproj.png](file:///C:\DOCUME~1\WHCHEN~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image002.jpg) - The VisualGDB Linux Project Wizard will start. As we
are making a simple "Hello, World" application, keep
"Create a new project" selected and press "Next".
![http:///tutorials/linux/img/02-newapp.png](file:///C:\DOCUME~1\WHCHEN~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image004.jpg) - If you have not created any projects before, select
"Create a new SSH connection" on the next page.
![http:///tutorials/linux/img/03-newssh.png](file:///C:\DOCUME~1\WHCHEN~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image006.jpg) - Provide the host name, user name and password. It is
recommended to check the "setup public key" checkbox, so that
VisualGDB will automatically generate an public/private keypair, store it
in your Windows account's key container and setup the remote Linux machine
to use it.
If
you don't enable public key authentication, VisualGDB will remember your
password for this connection. The stored passwords are encrypted using a
key stored in your Windows account. Thus, the password will only be
available once you login using your Windows account. - If you want to use a different toolchain (e.g. LLVM),
you can select if from the toolchain list. The button to the right of the
toolchain list allows customizing individual tools, such as the compiler.
You
can also select a cross-compiler here or specify a different deployment
machine. Use the diagram at the bottom of the page to check the
correctness of your setup: - The hammer icon corresponds to the machine where
the compiler is run.
- The "play" icon corresponds to the machine
where the debugged program is launched.
- When you press "Next", VisualGDB will test
your toolchain by trying to compile and run a trivial program. If any
errors are detected at this stage, you will see a detailed error log with
further troubleshooting information.
![http:///tutorials/linux/img/06-verify.png](file:///C:\DOCUME~1\WHCHEN~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image012.jpg) - As the same source code will be edited under Windows
and then compiled under Linux, VisualGDB will need to keep the sources
synchronized. The easiest way is to use automatic file uploading via SSH.
Alternatively, VisualGDB can setup shared folders (that would require root
password).
![http:///tutorials/linux/img/07-transfer.png](file:///C:\DOCUME~1\WHCHEN~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image014.jpg) - Press Finish to complete the wizard. If you are setting
up your first project using this Linux machine, VisualGDB will make local
caches of the include directories to make them available through
IntelliSense.
![http:///tutorials/linux/img/08-includecache.png](file:///C:\DOCUME~1\WHCHEN~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image016.jpg) - Congratulations! The project has been created. You can
now build your project, set a breakpoint on the "cout" line and
start debugging with F5.
![http:///tutorials/linux/img/09-breakpoint.png](file:///C:\DOCUME~1\WHCHEN~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image018.jpg) - You can always change various debugging settings by
right-clicking at the project in Solution Explorer and selecting
"VisualGDB Project Properties". The properties window allows
changing various settings and also copying settings between
configurations. Use the search field on the left to find settings by
keywords:
![http:///tutorials/linux/img/10-projectprops.png](file:///C:\DOCUME~1\WHCHEN~1\LOCALS~1\Temp\msohtmlclip1\01\clip_image020.jpg) - VisualGDB uses GNU make to build your project. You can
easily customize various GCC settings, such as additional include
directories or compiler flags, by editing the flags.mak file:
Note
that IntelliSense include directories are managed separately from the
VisualGDB Project Properties window. If you are adding a custom include
directory, please add it to both flags.mak and the IntelliSense
property page. - You can also right-click inside Visual Studio menu bar
and enable the VisualGDB toolbar. It provides shortcuts to commonly used
functionality (e.g. changing the program arguments for next launch):
![http:///tutorials/linux/img/12-toolbar.png](http://pubimage.360doc.com/wz/default.gif) - Note that when you add further source files to the
project, the Makefile will be updated automatically next time you build
the project in Visual Studio.
That was it for the basic project.
If you want a more advanced example, see our
|