<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BitBarrel</id>
	<title>Inkscape Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=BitBarrel"/>
	<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/Special:Contributions/BitBarrel"/>
	<updated>2026-05-26T00:17:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96128</id>
		<title>Using Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96128"/>
		<updated>2015-03-08T14:52:32Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: Added section to use spaces instead of tabs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Microsoft Visual Studio is a popular development tool used primarily with C, C++, and C#. Visual Studio (community edition) can be downloaded for free but it requires a plugin called VisualGDB or WinGDB. These plugins are not free, but fully functional evaluation versions are available. This wiki focuses on the VisualGDB plugin, but WinGDB settings are also provided.&lt;br /&gt;
&lt;br /&gt;
This page will help you set up Visual Studio for coding, building, and stepping through code in Inkcape.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
# Follow all steps of guide [[Compiling Inkscape on Windows]]. &lt;br /&gt;
# Make sure Inkcape compiles correctly using the console first.&lt;br /&gt;
# Install Visual Studio.&lt;br /&gt;
# Install VisualGDB.&lt;br /&gt;
# Set the Environment variables in the Windows System settings as described here: [[Compiling Inkscape on Windows]]. Do not use mingwenv.bat to set the environment variables.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' It is assumed the required packages are installed in the following directories:&lt;br /&gt;
* c:\mingw&lt;br /&gt;
* c:\devlibs&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
= Editor Settings =&lt;br /&gt;
&lt;br /&gt;
The Inkscape coding style is to use spaces instead of tabs. To change this, go to:&amp;lt;br&amp;gt;&lt;br /&gt;
Tools-&amp;gt;Options-&amp;gt;Text Editor-&amp;gt;All Languages-&amp;gt;Tabs-&amp;gt;Tab: set to &amp;quot;Insert spaces&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Create project in Visual Studio =&lt;br /&gt;
&lt;br /&gt;
# Open Visual Studio.&lt;br /&gt;
# Select File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;VisualGDB-&amp;gt;MinGW/Cygwin Project Wizard.&lt;br /&gt;
# For the project location, do not use a path with spaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:new-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Give the project a name, and click OK.&lt;br /&gt;
# At the wizard, select Project Type-&amp;gt;Import a project build with command-line tools.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Check the path to MinGW is correct.&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Set the Inkscape source directory to:&lt;br /&gt;
#* c:\src\inkscape\trunk&lt;br /&gt;
#* '''Note:''' Do not set this directory to \src&lt;br /&gt;
# Select Import preserving directory structure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# At Build Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; -j 8&lt;br /&gt;
#* '''Note:''' &amp;quot;-j 8&amp;quot; is to compile with 8 cpu threads.&lt;br /&gt;
#* '''Note:''' if you only want to build inscape.exe and not inkview or any other tools (to save time), use this as an argument instead:&lt;br /&gt;
#* /c &amp;quot;C:\src\inkscape\guides-improvements\btool.exe&amp;quot; -j 8 dist-inkscape&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Clean Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; clean&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Debug Settings-&amp;gt;Executable file to debug, browse to: &lt;br /&gt;
#* C:\src\inkscape\trunk\inkscape\inkscape.exe&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:build-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* '''Note:''' The field &amp;quot;Working directory relative to the build directory&amp;quot; is automatically set to &amp;quot;inkscape&amp;quot;. This is correct.&lt;br /&gt;
#Click Finish and wait for the project generation to finish.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VisualGDB will not copy the source files to the Visual Studio project directory, so you can still use Version Control the usual way.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Note:''' The project settings can be changed at a later time by going to: Project-&amp;gt;VisualGDB Project Properties.&lt;br /&gt;
&lt;br /&gt;
= Enable debugging =&lt;br /&gt;
&lt;br /&gt;
In Explorer, open build.xml located in:&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
Then look for the &amp;quot;T A R G E T : C O M P I L E&amp;quot; section, go to the &amp;lt;flags&amp;gt; section, and change&amp;lt;br /&amp;gt;&lt;br /&gt;
  -O2&lt;br /&gt;
to&lt;br /&gt;
  -O0&lt;br /&gt;
&lt;br /&gt;
Also add this flag:&amp;lt;br /&amp;gt;&lt;br /&gt;
  -g&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:flags.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then search for this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;true&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
And change to this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;false&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:strip.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' these changes will make Inkscape very slow to compile.&lt;br /&gt;
&lt;br /&gt;
= Building Inkscape =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, select Build-&amp;gt;Clean Solution.&lt;br /&gt;
# Then select Build-&amp;gt;Build Solution.&lt;br /&gt;
# Compiling will take even longer then a release version of Inkscape.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The compiler will seem to be stuck at this for a while, but that is normal:&lt;br /&gt;
  1&amp;gt;  --- compile / cc&lt;br /&gt;
&lt;br /&gt;
= Stepping through code =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, go to Solution Explorer-&amp;gt;Inkscape-&amp;gt;Source Files-&amp;gt;src-&amp;gt;main.cpp, and set a breakpoint here:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:breakpoint.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Select Debug-&amp;gt;Start Debugging With GDB.&lt;br /&gt;
# If you get a &amp;quot;GDB command timeout&amp;quot; window, be patient.&lt;br /&gt;
# Inkscape will stop at the breakpoint. Happy debugging.&lt;br /&gt;
&lt;br /&gt;
= Trouble shooting =&lt;br /&gt;
&lt;br /&gt;
== Unable to break ==&lt;br /&gt;
&lt;br /&gt;
In case Visual Studio cannot break at a certain breakpoint (most likely no debugging symbols present), you can diagnose breakpoint problems using the VisualGDB diagnose tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:diagnose-breakpoint.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make error ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, it means the environment variables are not set up correctly. Do not use mingwenv.bat to set up the environment variables, but set them in the Windows System Settings instead as described here: [[Compiling Inkscape on Windows#Set_Environmental_Variables|Setting Environment Variables]]&lt;br /&gt;
&lt;br /&gt;
  --- i18n / msgfmt&lt;br /&gt;
  Make error line 422: executeCommand : could not create process : the system cannot find the file specified.&lt;br /&gt;
  Make error line 422: &amp;lt;msgfmt&amp;gt; problem:&lt;br /&gt;
&lt;br /&gt;
== Build failed ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, the main build directory is incorrect. Delete the project and make a new project using the wizard, paying attention to the correct paths.&lt;br /&gt;
&lt;br /&gt;
  Error 1	error : Command-line action failed&lt;br /&gt;
  Error 2	error : Build has failed. See the Output window for more details.&lt;br /&gt;
  Error 3	error MSB3073: The command &amp;quot;&amp;quot;C:\VisualGDB\\VisualGDB.exe&amp;quot; /build exited with code 1.&lt;br /&gt;
&lt;br /&gt;
== Clean failed ==&lt;br /&gt;
&lt;br /&gt;
If Clean fails with error code -1, make sure you close inkscape first.&lt;br /&gt;
&lt;br /&gt;
= WinGDB settings =&lt;br /&gt;
&lt;br /&gt;
Wizard settings:&lt;br /&gt;
&lt;br /&gt;
* File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;WinGDB-&amp;gt;WinGDB Standard Projects-&amp;gt;Multiplatform Executable-&amp;gt;OK&lt;br /&gt;
* MinGW installation directory: C:\MinGW&lt;br /&gt;
* Make executable location: C:\src\inkscape\trunk\btool.exe&lt;br /&gt;
* Source dir: C:\src\inkscape\trunk\src&lt;br /&gt;
* Group imported files in folders = true&lt;br /&gt;
* Build result directory: C:\src\inkscape\trunk\inkscape&lt;br /&gt;
* Build debuggable result: inkscape.exe&lt;br /&gt;
* Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Additional source directories: C:\devlibs&lt;br /&gt;
&lt;br /&gt;
Project settings:&lt;br /&gt;
&lt;br /&gt;
* Right click project-&amp;gt;WinGDB-&amp;gt;Properties-&amp;gt;:&lt;br /&gt;
* Environment-&amp;gt;Debugger path: C:\mingw\bin\gdb.exe&lt;br /&gt;
* Environment-&amp;gt;Build toolchain paths: C:\MinGW\bin;C:\src\inkscape\trunk&lt;br /&gt;
* Debug-&amp;gt;Executable path: C:\src\inkscape\trunk\inkscape\inkscape.exe&lt;br /&gt;
* Directories-&amp;gt;Additional source directories: C:\devlibs&lt;br /&gt;
* Project build-&amp;gt;Project build command: btool&lt;br /&gt;
* Project build-&amp;gt;Project rebuild command: btool clean; btool&lt;br /&gt;
* Project build-&amp;gt;Project clean command: btool clean&lt;br /&gt;
* Project build-&amp;gt;Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
Building:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Build-&amp;gt;Build projectname&lt;br /&gt;
&lt;br /&gt;
Debugging:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Start debugging&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96122</id>
		<title>Using Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96122"/>
		<updated>2015-03-07T14:40:57Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Create project in Visual Studio */ Added multi threaded compiling and building inkscape only&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Microsoft Visual Studio is a popular development tool used primarily with C, C++, and C#. Visual Studio (community edition) can be downloaded for free but it requires a plugin called VisualGDB or WinGDB. These plugins are not free, but fully functional evaluation versions are available. This wiki focuses on the VisualGDB plugin, but WinGDB settings are also provided.&lt;br /&gt;
&lt;br /&gt;
This page will help you set up Visual Studio for coding, building, and stepping through code in Inkcape.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
# Follow all steps of guide [[Compiling Inkscape on Windows]]. &lt;br /&gt;
# Make sure Inkcape compiles correctly using the console first.&lt;br /&gt;
# Install Visual Studio.&lt;br /&gt;
# Install VisualGDB.&lt;br /&gt;
# Set the Environment variables in the Windows System settings as described here: [[Compiling Inkscape on Windows]]. Do not use mingwenv.bat to set the environment variables.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' It is assumed the required packages are installed in the following directories:&lt;br /&gt;
* c:\mingw&lt;br /&gt;
* c:\devlibs&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
= Create project in Visual Studio =&lt;br /&gt;
&lt;br /&gt;
# Open Visual Studio.&lt;br /&gt;
# Select File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;VisualGDB-&amp;gt;MinGW/Cygwin Project Wizard.&lt;br /&gt;
# For the project location, do not use a path with spaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:new-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Give the project a name, and click OK.&lt;br /&gt;
# At the wizard, select Project Type-&amp;gt;Import a project build with command-line tools.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Check the path to MinGW is correct.&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Set the Inkscape source directory to:&lt;br /&gt;
#* c:\src\inkscape\trunk&lt;br /&gt;
#* '''Note:''' Do not set this directory to \src&lt;br /&gt;
# Select Import preserving directory structure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# At Build Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; -j 8&lt;br /&gt;
#* '''Note:''' &amp;quot;-j 8&amp;quot; is to compile with 8 cpu threads.&lt;br /&gt;
#* '''Note:''' if you only want to build inscape.exe and not inkview or any other tools (to save time), use this as an argument instead:&lt;br /&gt;
#* /c &amp;quot;C:\src\inkscape\guides-improvements\btool.exe&amp;quot; -j 8 dist-inkscape&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Clean Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; clean&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Debug Settings-&amp;gt;Executable file to debug, browse to: &lt;br /&gt;
#* C:\src\inkscape\trunk\inkscape\inkscape.exe&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:build-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* '''Note:''' The field &amp;quot;Working directory relative to the build directory&amp;quot; is automatically set to &amp;quot;inkscape&amp;quot;. This is correct.&lt;br /&gt;
#Click Finish and wait for the project generation to finish.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VisualGDB will not copy the source files to the Visual Studio project directory, so you can still use Version Control the usual way.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Note:''' The project settings can be changed at a later time by going to: Project-&amp;gt;VisualGDB Project Properties.&lt;br /&gt;
&lt;br /&gt;
= Enable debugging =&lt;br /&gt;
&lt;br /&gt;
In Explorer, open build.xml located in:&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
Then look for the &amp;quot;T A R G E T : C O M P I L E&amp;quot; section, go to the &amp;lt;flags&amp;gt; section, and change&amp;lt;br /&amp;gt;&lt;br /&gt;
  -O2&lt;br /&gt;
to&lt;br /&gt;
  -O0&lt;br /&gt;
&lt;br /&gt;
Also add this flag:&amp;lt;br /&amp;gt;&lt;br /&gt;
  -g&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:flags.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then search for this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;true&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
And change to this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;false&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:strip.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' these changes will make Inkscape very slow to compile.&lt;br /&gt;
&lt;br /&gt;
= Building Inkscape =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, select Build-&amp;gt;Clean Solution.&lt;br /&gt;
# Then select Build-&amp;gt;Build Solution.&lt;br /&gt;
# Compiling will take even longer then a release version of Inkscape.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The compiler will seem to be stuck at this for a while, but that is normal:&lt;br /&gt;
  1&amp;gt;  --- compile / cc&lt;br /&gt;
&lt;br /&gt;
= Stepping through code =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, go to Solution Explorer-&amp;gt;Inkscape-&amp;gt;Source Files-&amp;gt;src-&amp;gt;main.cpp, and set a breakpoint here:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:breakpoint.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Select Debug-&amp;gt;Start Debugging With GDB.&lt;br /&gt;
# If you get a &amp;quot;GDB command timeout&amp;quot; window, be patient.&lt;br /&gt;
# Inkscape will stop at the breakpoint. Happy debugging.&lt;br /&gt;
&lt;br /&gt;
= Trouble shooting =&lt;br /&gt;
&lt;br /&gt;
== Unable to break ==&lt;br /&gt;
&lt;br /&gt;
In case Visual Studio cannot break at a certain breakpoint (most likely no debugging symbols present), you can diagnose breakpoint problems using the VisualGDB diagnose tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:diagnose-breakpoint.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make error ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, it means the environment variables are not set up correctly. Do not use mingwenv.bat to set up the environment variables, but set them in the Windows System Settings instead as described here: [[Compiling Inkscape on Windows#Set_Environmental_Variables|Setting Environment Variables]]&lt;br /&gt;
&lt;br /&gt;
  --- i18n / msgfmt&lt;br /&gt;
  Make error line 422: executeCommand : could not create process : the system cannot find the file specified.&lt;br /&gt;
  Make error line 422: &amp;lt;msgfmt&amp;gt; problem:&lt;br /&gt;
&lt;br /&gt;
== Build failed ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, the main build directory is incorrect. Delete the project and make a new project using the wizard, paying attention to the correct paths.&lt;br /&gt;
&lt;br /&gt;
  Error 1	error : Command-line action failed&lt;br /&gt;
  Error 2	error : Build has failed. See the Output window for more details.&lt;br /&gt;
  Error 3	error MSB3073: The command &amp;quot;&amp;quot;C:\VisualGDB\\VisualGDB.exe&amp;quot; /build exited with code 1.&lt;br /&gt;
&lt;br /&gt;
== Clean failed ==&lt;br /&gt;
&lt;br /&gt;
If Clean fails with error code -1, make sure you close inkscape first.&lt;br /&gt;
&lt;br /&gt;
= WinGDB settings =&lt;br /&gt;
&lt;br /&gt;
Wizard settings:&lt;br /&gt;
&lt;br /&gt;
* File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;WinGDB-&amp;gt;WinGDB Standard Projects-&amp;gt;Multiplatform Executable-&amp;gt;OK&lt;br /&gt;
* MinGW installation directory: C:\MinGW&lt;br /&gt;
* Make executable location: C:\src\inkscape\trunk\btool.exe&lt;br /&gt;
* Source dir: C:\src\inkscape\trunk\src&lt;br /&gt;
* Group imported files in folders = true&lt;br /&gt;
* Build result directory: C:\src\inkscape\trunk\inkscape&lt;br /&gt;
* Build debuggable result: inkscape.exe&lt;br /&gt;
* Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Additional source directories: C:\devlibs&lt;br /&gt;
&lt;br /&gt;
Project settings:&lt;br /&gt;
&lt;br /&gt;
* Right click project-&amp;gt;WinGDB-&amp;gt;Properties-&amp;gt;:&lt;br /&gt;
* Environment-&amp;gt;Debugger path: C:\mingw\bin\gdb.exe&lt;br /&gt;
* Environment-&amp;gt;Build toolchain paths: C:\MinGW\bin;C:\src\inkscape\trunk&lt;br /&gt;
* Debug-&amp;gt;Executable path: C:\src\inkscape\trunk\inkscape\inkscape.exe&lt;br /&gt;
* Directories-&amp;gt;Additional source directories: C:\devlibs&lt;br /&gt;
* Project build-&amp;gt;Project build command: btool&lt;br /&gt;
* Project build-&amp;gt;Project rebuild command: btool clean; btool&lt;br /&gt;
* Project build-&amp;gt;Project clean command: btool clean&lt;br /&gt;
* Project build-&amp;gt;Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
Building:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Build-&amp;gt;Build projectname&lt;br /&gt;
&lt;br /&gt;
Debugging:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Start debugging&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96116</id>
		<title>Using Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96116"/>
		<updated>2015-03-07T04:27:53Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Make error */ formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Microsoft Visual Studio is a popular development tool used primarily with C, C++, and C#. Visual Studio (community edition) can be downloaded for free but it requires a plugin called VisualGDB or WinGDB. These plugins are not free, but fully functional evaluation versions are available. This wiki focuses on the VisualGDB plugin, but WinGDB settings are also provided.&lt;br /&gt;
&lt;br /&gt;
This page will help you set up Visual Studio for coding, building, and stepping through code in Inkcape.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
# Follow all steps of guide [[Compiling Inkscape on Windows]]. &lt;br /&gt;
# Make sure Inkcape compiles correctly using the console first.&lt;br /&gt;
# Install Visual Studio.&lt;br /&gt;
# Install VisualGDB.&lt;br /&gt;
# Set the Environment variables in the Windows System settings as described here: [[Compiling Inkscape on Windows]]. Do not use mingwenv.bat to set the environment variables.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' It is assumed the required packages are installed in the following directories:&lt;br /&gt;
* c:\mingw&lt;br /&gt;
* c:\devlibs&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
= Create project in Visual Studio =&lt;br /&gt;
&lt;br /&gt;
# Open Visual Studio.&lt;br /&gt;
# Select File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;VisualGDB-&amp;gt;MinGW/Cygwin Project Wizard.&lt;br /&gt;
# For the project location, do not use a path with spaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:new-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Give the project a name, and click OK.&lt;br /&gt;
# At the wizard, select Project Type-&amp;gt;Import a project build with command-line tools.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Check the path to MinGW is correct.&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Set the Inkscape source directory to:&lt;br /&gt;
#* c:\src\inkscape\trunk&lt;br /&gt;
#* '''Note:''' Do not set this directory to \src&lt;br /&gt;
# Select Import preserving directory structure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# At Build Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot;&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Clean Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; clean&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Debug Settings-&amp;gt;Executable file to debug, browse to: &lt;br /&gt;
#* C:\src\inkscape\trunk\inkscape\inkscape.exe&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:build-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* '''Note:''' The field &amp;quot;Working directory relative to the build directory&amp;quot; is automatically set to &amp;quot;inkscape&amp;quot;. This is correct.&lt;br /&gt;
#Click Finish and wait for the project generation to finish.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VisualGDB will not copy the source files to the Visual Studio project directory, so you can still use Version Control the usual way.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Note:''' The project settings can be changed at a later time by going to: Project-&amp;gt;VisualGDB Project Properties.&lt;br /&gt;
&lt;br /&gt;
= Enable debugging =&lt;br /&gt;
&lt;br /&gt;
In Explorer, open build.xml located in:&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
Then look for the &amp;quot;T A R G E T : C O M P I L E&amp;quot; section, go to the &amp;lt;flags&amp;gt; section, and change&amp;lt;br /&amp;gt;&lt;br /&gt;
  -O2&lt;br /&gt;
to&lt;br /&gt;
  -O0&lt;br /&gt;
&lt;br /&gt;
Also add this flag:&amp;lt;br /&amp;gt;&lt;br /&gt;
  -g&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:flags.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then search for this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;true&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
And change to this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;false&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:strip.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' these changes will make Inkscape very slow to compile.&lt;br /&gt;
&lt;br /&gt;
= Building Inkscape =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, select Build-&amp;gt;Clean Solution.&lt;br /&gt;
# Then select Build-&amp;gt;Build Solution.&lt;br /&gt;
# Compiling will take even longer then a release version of Inkscape.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The compiler will seem to be stuck at this for a while, but that is normal:&lt;br /&gt;
  1&amp;gt;  --- compile / cc&lt;br /&gt;
&lt;br /&gt;
= Stepping through code =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, go to Solution Explorer-&amp;gt;Inkscape-&amp;gt;Source Files-&amp;gt;src-&amp;gt;main.cpp, and set a breakpoint here:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:breakpoint.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Select Debug-&amp;gt;Start Debugging With GDB.&lt;br /&gt;
# If you get a &amp;quot;GDB command timeout&amp;quot; window, be patient.&lt;br /&gt;
# Inkscape will stop at the breakpoint. Happy debugging.&lt;br /&gt;
&lt;br /&gt;
= Trouble shooting =&lt;br /&gt;
&lt;br /&gt;
== Unable to break ==&lt;br /&gt;
&lt;br /&gt;
In case Visual Studio cannot break at a certain breakpoint (most likely no debugging symbols present), you can diagnose breakpoint problems using the VisualGDB diagnose tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:diagnose-breakpoint.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make error ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, it means the environment variables are not set up correctly. Do not use mingwenv.bat to set up the environment variables, but set them in the Windows System Settings instead as described here: [[Compiling Inkscape on Windows#Set_Environmental_Variables|Setting Environment Variables]]&lt;br /&gt;
&lt;br /&gt;
  --- i18n / msgfmt&lt;br /&gt;
  Make error line 422: executeCommand : could not create process : the system cannot find the file specified.&lt;br /&gt;
  Make error line 422: &amp;lt;msgfmt&amp;gt; problem:&lt;br /&gt;
&lt;br /&gt;
== Build failed ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, the main build directory is incorrect. Delete the project and make a new project using the wizard, paying attention to the correct paths.&lt;br /&gt;
&lt;br /&gt;
  Error 1	error : Command-line action failed&lt;br /&gt;
  Error 2	error : Build has failed. See the Output window for more details.&lt;br /&gt;
  Error 3	error MSB3073: The command &amp;quot;&amp;quot;C:\VisualGDB\\VisualGDB.exe&amp;quot; /build exited with code 1.&lt;br /&gt;
&lt;br /&gt;
== Clean failed ==&lt;br /&gt;
&lt;br /&gt;
If Clean fails with error code -1, make sure you close inkscape first.&lt;br /&gt;
&lt;br /&gt;
= WinGDB settings =&lt;br /&gt;
&lt;br /&gt;
Wizard settings:&lt;br /&gt;
&lt;br /&gt;
* File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;WinGDB-&amp;gt;WinGDB Standard Projects-&amp;gt;Multiplatform Executable-&amp;gt;OK&lt;br /&gt;
* MinGW installation directory: C:\MinGW&lt;br /&gt;
* Make executable location: C:\src\inkscape\trunk\btool.exe&lt;br /&gt;
* Source dir: C:\src\inkscape\trunk\src&lt;br /&gt;
* Group imported files in folders = true&lt;br /&gt;
* Build result directory: C:\src\inkscape\trunk\inkscape&lt;br /&gt;
* Build debuggable result: inkscape.exe&lt;br /&gt;
* Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Additional source directories: C:\devlibs&lt;br /&gt;
&lt;br /&gt;
Project settings:&lt;br /&gt;
&lt;br /&gt;
* Right click project-&amp;gt;WinGDB-&amp;gt;Properties-&amp;gt;:&lt;br /&gt;
* Environment-&amp;gt;Debugger path: C:\mingw\bin\gdb.exe&lt;br /&gt;
* Environment-&amp;gt;Build toolchain paths: C:\MinGW\bin;C:\src\inkscape\trunk&lt;br /&gt;
* Debug-&amp;gt;Executable path: C:\src\inkscape\trunk\inkscape\inkscape.exe&lt;br /&gt;
* Directories-&amp;gt;Additional source directories: C:\devlibs&lt;br /&gt;
* Project build-&amp;gt;Project build command: btool&lt;br /&gt;
* Project build-&amp;gt;Project rebuild command: btool clean; btool&lt;br /&gt;
* Project build-&amp;gt;Project clean command: btool clean&lt;br /&gt;
* Project build-&amp;gt;Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
Building:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Build-&amp;gt;Build projectname&lt;br /&gt;
&lt;br /&gt;
Debugging:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Start debugging&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96110</id>
		<title>Using Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96110"/>
		<updated>2015-03-07T04:16:44Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* WinGDB settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Microsoft Visual Studio is a popular development tool used primarily with C, C++, and C#. Visual Studio (community edition) can be downloaded for free but it requires a plugin called VisualGDB or WinGDB. These plugins are not free, but fully functional evaluation versions are available. This wiki focuses on the VisualGDB plugin, but WinGDB settings are also provided.&lt;br /&gt;
&lt;br /&gt;
This page will help you set up Visual Studio for coding, building, and stepping through code in Inkcape.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
# Follow all steps of guide [[Compiling Inkscape on Windows]]. &lt;br /&gt;
# Make sure Inkcape compiles correctly using the console first.&lt;br /&gt;
# Install Visual Studio.&lt;br /&gt;
# Install VisualGDB.&lt;br /&gt;
# Set the Environment variables in the Windows System settings as described here: [[Compiling Inkscape on Windows]]. Do not use mingwenv.bat to set the environment variables.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' It is assumed the required packages are installed in the following directories:&lt;br /&gt;
* c:\mingw&lt;br /&gt;
* c:\devlibs&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
= Create project in Visual Studio =&lt;br /&gt;
&lt;br /&gt;
# Open Visual Studio.&lt;br /&gt;
# Select File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;VisualGDB-&amp;gt;MinGW/Cygwin Project Wizard.&lt;br /&gt;
# For the project location, do not use a path with spaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:new-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Give the project a name, and click OK.&lt;br /&gt;
# At the wizard, select Project Type-&amp;gt;Import a project build with command-line tools.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Check the path to MinGW is correct.&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Set the Inkscape source directory to:&lt;br /&gt;
#* c:\src\inkscape\trunk&lt;br /&gt;
#* '''Note:''' Do not set this directory to \src&lt;br /&gt;
# Select Import preserving directory structure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# At Build Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot;&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Clean Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; clean&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Debug Settings-&amp;gt;Executable file to debug, browse to: &lt;br /&gt;
#* C:\src\inkscape\trunk\inkscape\inkscape.exe&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:build-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* '''Note:''' The field &amp;quot;Working directory relative to the build directory&amp;quot; is automatically set to &amp;quot;inkscape&amp;quot;. This is correct.&lt;br /&gt;
#Click Finish and wait for the project generation to finish.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VisualGDB will not copy the source files to the Visual Studio project directory, so you can still use Version Control the usual way.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Note:''' The project settings can be changed at a later time by going to: Project-&amp;gt;VisualGDB Project Properties.&lt;br /&gt;
&lt;br /&gt;
= Enable debugging =&lt;br /&gt;
&lt;br /&gt;
In Explorer, open build.xml located in:&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
Then look for the &amp;quot;T A R G E T : C O M P I L E&amp;quot; section, go to the &amp;lt;flags&amp;gt; section, and change&amp;lt;br /&amp;gt;&lt;br /&gt;
  -O2&lt;br /&gt;
to&lt;br /&gt;
  -O0&lt;br /&gt;
&lt;br /&gt;
Also add this flag:&amp;lt;br /&amp;gt;&lt;br /&gt;
  -g&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:flags.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then search for this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;true&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
And change to this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;false&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:strip.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' these changes will make Inkscape very slow to compile.&lt;br /&gt;
&lt;br /&gt;
= Building Inkscape =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, select Build-&amp;gt;Clean Solution.&lt;br /&gt;
# Then select Build-&amp;gt;Build Solution.&lt;br /&gt;
# Compiling will take even longer then a release version of Inkscape.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The compiler will seem to be stuck at this for a while, but that is normal:&lt;br /&gt;
  1&amp;gt;  --- compile / cc&lt;br /&gt;
&lt;br /&gt;
= Stepping through code =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, go to Solution Explorer-&amp;gt;Inkscape-&amp;gt;Source Files-&amp;gt;src-&amp;gt;main.cpp, and set a breakpoint here:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:breakpoint.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Select Debug-&amp;gt;Start Debugging With GDB.&lt;br /&gt;
# If you get a &amp;quot;GDB command timeout&amp;quot; window, be patient.&lt;br /&gt;
# Inkscape will stop at the breakpoint. Happy debugging.&lt;br /&gt;
&lt;br /&gt;
= Trouble shooting =&lt;br /&gt;
&lt;br /&gt;
== Unable to break ==&lt;br /&gt;
&lt;br /&gt;
In case Visual Studio cannot break at a certain breakpoint (most likely no debugging symbols present), you can diagnose breakpoint problems using the VisualGDB diagnose tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:diagnose-breakpoint.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make error ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, it means the environment variables are not set up correctly. Do not use mingwenv.bat to set up the environment variables, but set them in the Windows System Settings instead as described here: [[Compiling Inkscape on Windows#Set_Environmental_Variables|Setting Environment Variables]]&lt;br /&gt;
&lt;br /&gt;
Error:&lt;br /&gt;
  --- i18n / msgfmt&lt;br /&gt;
  Make error line 422: executeCommand : could not create process : the system cannot find the file specified.&lt;br /&gt;
  Make error line 422: &amp;lt;msgfmt&amp;gt; problem:&lt;br /&gt;
&lt;br /&gt;
== Build failed ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, the main build directory is incorrect. Delete the project and make a new project using the wizard, paying attention to the correct paths.&lt;br /&gt;
&lt;br /&gt;
  Error 1	error : Command-line action failed&lt;br /&gt;
  Error 2	error : Build has failed. See the Output window for more details.&lt;br /&gt;
  Error 3	error MSB3073: The command &amp;quot;&amp;quot;C:\VisualGDB\\VisualGDB.exe&amp;quot; /build exited with code 1.&lt;br /&gt;
&lt;br /&gt;
== Clean failed ==&lt;br /&gt;
&lt;br /&gt;
If Clean fails with error code -1, make sure you close inkscape first.&lt;br /&gt;
&lt;br /&gt;
= WinGDB settings =&lt;br /&gt;
&lt;br /&gt;
Wizard settings:&lt;br /&gt;
&lt;br /&gt;
* File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;WinGDB-&amp;gt;WinGDB Standard Projects-&amp;gt;Multiplatform Executable-&amp;gt;OK&lt;br /&gt;
* MinGW installation directory: C:\MinGW&lt;br /&gt;
* Make executable location: C:\src\inkscape\trunk\btool.exe&lt;br /&gt;
* Source dir: C:\src\inkscape\trunk\src&lt;br /&gt;
* Group imported files in folders = true&lt;br /&gt;
* Build result directory: C:\src\inkscape\trunk\inkscape&lt;br /&gt;
* Build debuggable result: inkscape.exe&lt;br /&gt;
* Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Additional source directories: C:\devlibs&lt;br /&gt;
&lt;br /&gt;
Project settings:&lt;br /&gt;
&lt;br /&gt;
* Right click project-&amp;gt;WinGDB-&amp;gt;Properties-&amp;gt;:&lt;br /&gt;
* Environment-&amp;gt;Debugger path: C:\mingw\bin\gdb.exe&lt;br /&gt;
* Environment-&amp;gt;Build toolchain paths: C:\MinGW\bin;C:\src\inkscape\trunk&lt;br /&gt;
* Debug-&amp;gt;Executable path: C:\src\inkscape\trunk\inkscape\inkscape.exe&lt;br /&gt;
* Directories-&amp;gt;Additional source directories: C:\devlibs&lt;br /&gt;
* Project build-&amp;gt;Project build command: btool&lt;br /&gt;
* Project build-&amp;gt;Project rebuild command: btool clean; btool&lt;br /&gt;
* Project build-&amp;gt;Project clean command: btool clean&lt;br /&gt;
* Project build-&amp;gt;Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
Building:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Build-&amp;gt;Build projectname&lt;br /&gt;
&lt;br /&gt;
Debugging:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Start debugging&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96104</id>
		<title>Using Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96104"/>
		<updated>2015-03-07T04:13:48Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Building Inkscape */ rephrase&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Microsoft Visual Studio is a popular development tool used primarily with C, C++, and C#. Visual Studio (community edition) can be downloaded for free but it requires a plugin called VisualGDB or WinGDB. These plugins are not free, but fully functional evaluation versions are available. This wiki focuses on the VisualGDB plugin, but WinGDB settings are also provided.&lt;br /&gt;
&lt;br /&gt;
This page will help you set up Visual Studio for coding, building, and stepping through code in Inkcape.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
# Follow all steps of guide [[Compiling Inkscape on Windows]]. &lt;br /&gt;
# Make sure Inkcape compiles correctly using the console first.&lt;br /&gt;
# Install Visual Studio.&lt;br /&gt;
# Install VisualGDB.&lt;br /&gt;
# Set the Environment variables in the Windows System settings as described here: [[Compiling Inkscape on Windows]]. Do not use mingwenv.bat to set the environment variables.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' It is assumed the required packages are installed in the following directories:&lt;br /&gt;
* c:\mingw&lt;br /&gt;
* c:\devlibs&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
= Create project in Visual Studio =&lt;br /&gt;
&lt;br /&gt;
# Open Visual Studio.&lt;br /&gt;
# Select File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;VisualGDB-&amp;gt;MinGW/Cygwin Project Wizard.&lt;br /&gt;
# For the project location, do not use a path with spaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:new-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Give the project a name, and click OK.&lt;br /&gt;
# At the wizard, select Project Type-&amp;gt;Import a project build with command-line tools.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Check the path to MinGW is correct.&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Set the Inkscape source directory to:&lt;br /&gt;
#* c:\src\inkscape\trunk&lt;br /&gt;
#* '''Note:''' Do not set this directory to \src&lt;br /&gt;
# Select Import preserving directory structure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# At Build Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot;&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Clean Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; clean&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Debug Settings-&amp;gt;Executable file to debug, browse to: &lt;br /&gt;
#* C:\src\inkscape\trunk\inkscape\inkscape.exe&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:build-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* '''Note:''' The field &amp;quot;Working directory relative to the build directory&amp;quot; is automatically set to &amp;quot;inkscape&amp;quot;. This is correct.&lt;br /&gt;
#Click Finish and wait for the project generation to finish.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VisualGDB will not copy the source files to the Visual Studio project directory, so you can still use Version Control the usual way.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Note:''' The project settings can be changed at a later time by going to: Project-&amp;gt;VisualGDB Project Properties.&lt;br /&gt;
&lt;br /&gt;
= Enable debugging =&lt;br /&gt;
&lt;br /&gt;
In Explorer, open build.xml located in:&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
Then look for the &amp;quot;T A R G E T : C O M P I L E&amp;quot; section, go to the &amp;lt;flags&amp;gt; section, and change&amp;lt;br /&amp;gt;&lt;br /&gt;
  -O2&lt;br /&gt;
to&lt;br /&gt;
  -O0&lt;br /&gt;
&lt;br /&gt;
Also add this flag:&amp;lt;br /&amp;gt;&lt;br /&gt;
  -g&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:flags.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then search for this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;true&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
And change to this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;false&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:strip.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' these changes will make Inkscape very slow to compile.&lt;br /&gt;
&lt;br /&gt;
= Building Inkscape =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, select Build-&amp;gt;Clean Solution.&lt;br /&gt;
# Then select Build-&amp;gt;Build Solution.&lt;br /&gt;
# Compiling will take even longer then a release version of Inkscape.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The compiler will seem to be stuck at this for a while, but that is normal:&lt;br /&gt;
  1&amp;gt;  --- compile / cc&lt;br /&gt;
&lt;br /&gt;
= Stepping through code =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, go to Solution Explorer-&amp;gt;Inkscape-&amp;gt;Source Files-&amp;gt;src-&amp;gt;main.cpp, and set a breakpoint here:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:breakpoint.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Select Debug-&amp;gt;Start Debugging With GDB.&lt;br /&gt;
# If you get a &amp;quot;GDB command timeout&amp;quot; window, be patient.&lt;br /&gt;
# Inkscape will stop at the breakpoint. Happy debugging.&lt;br /&gt;
&lt;br /&gt;
= Trouble shooting =&lt;br /&gt;
&lt;br /&gt;
== Unable to break ==&lt;br /&gt;
&lt;br /&gt;
In case Visual Studio cannot break at a certain breakpoint (most likely no debugging symbols present), you can diagnose breakpoint problems using the VisualGDB diagnose tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:diagnose-breakpoint.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make error ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, it means the environment variables are not set up correctly. Do not use mingwenv.bat to set up the environment variables, but set them in the Windows System Settings instead as described here: [[Compiling Inkscape on Windows#Set_Environmental_Variables|Setting Environment Variables]]&lt;br /&gt;
&lt;br /&gt;
Error:&lt;br /&gt;
  --- i18n / msgfmt&lt;br /&gt;
  Make error line 422: executeCommand : could not create process : the system cannot find the file specified.&lt;br /&gt;
  Make error line 422: &amp;lt;msgfmt&amp;gt; problem:&lt;br /&gt;
&lt;br /&gt;
== Build failed ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, the main build directory is incorrect. Delete the project and make a new project using the wizard, paying attention to the correct paths.&lt;br /&gt;
&lt;br /&gt;
  Error 1	error : Command-line action failed&lt;br /&gt;
  Error 2	error : Build has failed. See the Output window for more details.&lt;br /&gt;
  Error 3	error MSB3073: The command &amp;quot;&amp;quot;C:\VisualGDB\\VisualGDB.exe&amp;quot; /build exited with code 1.&lt;br /&gt;
&lt;br /&gt;
== Clean failed ==&lt;br /&gt;
&lt;br /&gt;
If Clean fails with error code -1, make sure you close inkscape first.&lt;br /&gt;
&lt;br /&gt;
= WinGDB settings =&lt;br /&gt;
&lt;br /&gt;
Wizard settings:&lt;br /&gt;
&lt;br /&gt;
* File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;WinGDB-&amp;gt;WinGDB Standard Projects-&amp;gt;Multiplatform Executable-&amp;gt;OK&lt;br /&gt;
* MinGW installation directory: C:\MinGW&lt;br /&gt;
* Make executable location: C:\src\inkscape\trunk\btool.exe&lt;br /&gt;
* Source dir: C:\src\inkscape\trunk\src&lt;br /&gt;
* Group imported files in folders = true&lt;br /&gt;
* Build result directory: C:\src\inkscape\trunk\inkscape&lt;br /&gt;
* Build debuggable result: inkscape.exe&lt;br /&gt;
* Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Additional source directories: C:\devlibs&lt;br /&gt;
&lt;br /&gt;
Project settings:&lt;br /&gt;
&lt;br /&gt;
* Right click project-&amp;gt;WinGDB-&amp;gt;Properties-&amp;gt;:&lt;br /&gt;
* Environment-&amp;gt;Debugger path: C:\mingw\bin\gdb.exe&lt;br /&gt;
* Environment-&amp;gt;Build toolchain paths: C:\MinGW\bin;C:\src\inkscape\trunk&lt;br /&gt;
* Debug-&amp;gt;Executable path: C:\src\inkscape\trunk\inkscape\inkscape.exe&lt;br /&gt;
* Directories-&amp;gt;Additional source directories: C:\devlibs&lt;br /&gt;
* Project build-&amp;gt;Project build command: btool -j 8 (-j 8 is to compile with 8 threads)&lt;br /&gt;
* Project build-&amp;gt;Project rebuild command: btool clean; btool -j 8 &lt;br /&gt;
* Project build-&amp;gt;Project clean command: btool clean&lt;br /&gt;
* Project build-&amp;gt;Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
Building:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Build-&amp;gt;Build projectname&lt;br /&gt;
&lt;br /&gt;
Debugging:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Start debugging&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96098</id>
		<title>Using Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96098"/>
		<updated>2015-03-07T04:11:36Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Trouble shooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Microsoft Visual Studio is a popular development tool used primarily with C, C++, and C#. Visual Studio (community edition) can be downloaded for free but it requires a plugin called VisualGDB or WinGDB. These plugins are not free, but fully functional evaluation versions are available. This wiki focuses on the VisualGDB plugin, but WinGDB settings are also provided.&lt;br /&gt;
&lt;br /&gt;
This page will help you set up Visual Studio for coding, building, and stepping through code in Inkcape.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
# Follow all steps of guide [[Compiling Inkscape on Windows]]. &lt;br /&gt;
# Make sure Inkcape compiles correctly using the console first.&lt;br /&gt;
# Install Visual Studio.&lt;br /&gt;
# Install VisualGDB.&lt;br /&gt;
# Set the Environment variables in the Windows System settings as described here: [[Compiling Inkscape on Windows]]. Do not use mingwenv.bat to set the environment variables.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' It is assumed the required packages are installed in the following directories:&lt;br /&gt;
* c:\mingw&lt;br /&gt;
* c:\devlibs&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
= Create project in Visual Studio =&lt;br /&gt;
&lt;br /&gt;
# Open Visual Studio.&lt;br /&gt;
# Select File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;VisualGDB-&amp;gt;MinGW/Cygwin Project Wizard.&lt;br /&gt;
# For the project location, do not use a path with spaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:new-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Give the project a name, and click OK.&lt;br /&gt;
# At the wizard, select Project Type-&amp;gt;Import a project build with command-line tools.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Check the path to MinGW is correct.&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Set the Inkscape source directory to:&lt;br /&gt;
#* c:\src\inkscape\trunk&lt;br /&gt;
#* '''Note:''' Do not set this directory to \src&lt;br /&gt;
# Select Import preserving directory structure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# At Build Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot;&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Clean Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; clean&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Debug Settings-&amp;gt;Executable file to debug, browse to: &lt;br /&gt;
#* C:\src\inkscape\trunk\inkscape\inkscape.exe&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:build-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* '''Note:''' The field &amp;quot;Working directory relative to the build directory&amp;quot; is automatically set to &amp;quot;inkscape&amp;quot;. This is correct.&lt;br /&gt;
#Click Finish and wait for the project generation to finish.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VisualGDB will not copy the source files to the Visual Studio project directory, so you can still use Version Control the usual way.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Note:''' The project settings can be changed at a later time by going to: Project-&amp;gt;VisualGDB Project Properties.&lt;br /&gt;
&lt;br /&gt;
= Enable debugging =&lt;br /&gt;
&lt;br /&gt;
In Explorer, open build.xml located in:&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
Then look for the &amp;quot;T A R G E T : C O M P I L E&amp;quot; section, go to the &amp;lt;flags&amp;gt; section, and change&amp;lt;br /&amp;gt;&lt;br /&gt;
  -O2&lt;br /&gt;
to&lt;br /&gt;
  -O0&lt;br /&gt;
&lt;br /&gt;
Also add this flag:&amp;lt;br /&amp;gt;&lt;br /&gt;
  -g&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:flags.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then search for this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;true&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
And change to this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;false&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:strip.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' these changes will make Inkscape very slow to compile.&lt;br /&gt;
&lt;br /&gt;
= Building Inkscape =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, select Build-&amp;gt;Clean Solution.&lt;br /&gt;
# Then select Build-&amp;gt;Build Solution.&lt;br /&gt;
# Come back later. This will take a while.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The compiler will seem to be stuck at this for a while, but that is normal:&lt;br /&gt;
  1&amp;gt;  --- compile / cc&lt;br /&gt;
&lt;br /&gt;
= Stepping through code =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, go to Solution Explorer-&amp;gt;Inkscape-&amp;gt;Source Files-&amp;gt;src-&amp;gt;main.cpp, and set a breakpoint here:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:breakpoint.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Select Debug-&amp;gt;Start Debugging With GDB.&lt;br /&gt;
# If you get a &amp;quot;GDB command timeout&amp;quot; window, be patient.&lt;br /&gt;
# Inkscape will stop at the breakpoint. Happy debugging.&lt;br /&gt;
&lt;br /&gt;
= Trouble shooting =&lt;br /&gt;
&lt;br /&gt;
== Unable to break ==&lt;br /&gt;
&lt;br /&gt;
In case Visual Studio cannot break at a certain breakpoint (most likely no debugging symbols present), you can diagnose breakpoint problems using the VisualGDB diagnose tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:diagnose-breakpoint.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make error ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, it means the environment variables are not set up correctly. Do not use mingwenv.bat to set up the environment variables, but set them in the Windows System Settings instead as described here: [[Compiling Inkscape on Windows#Set_Environmental_Variables|Setting Environment Variables]]&lt;br /&gt;
&lt;br /&gt;
Error:&lt;br /&gt;
  --- i18n / msgfmt&lt;br /&gt;
  Make error line 422: executeCommand : could not create process : the system cannot find the file specified.&lt;br /&gt;
  Make error line 422: &amp;lt;msgfmt&amp;gt; problem:&lt;br /&gt;
&lt;br /&gt;
== Build failed ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, the main build directory is incorrect. Delete the project and make a new project using the wizard, paying attention to the correct paths.&lt;br /&gt;
&lt;br /&gt;
  Error 1	error : Command-line action failed&lt;br /&gt;
  Error 2	error : Build has failed. See the Output window for more details.&lt;br /&gt;
  Error 3	error MSB3073: The command &amp;quot;&amp;quot;C:\VisualGDB\\VisualGDB.exe&amp;quot; /build exited with code 1.&lt;br /&gt;
&lt;br /&gt;
== Clean failed ==&lt;br /&gt;
&lt;br /&gt;
If Clean fails with error code -1, make sure you close inkscape first.&lt;br /&gt;
&lt;br /&gt;
= WinGDB settings =&lt;br /&gt;
&lt;br /&gt;
Wizard settings:&lt;br /&gt;
&lt;br /&gt;
* File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;WinGDB-&amp;gt;WinGDB Standard Projects-&amp;gt;Multiplatform Executable-&amp;gt;OK&lt;br /&gt;
* MinGW installation directory: C:\MinGW&lt;br /&gt;
* Make executable location: C:\src\inkscape\trunk\btool.exe&lt;br /&gt;
* Source dir: C:\src\inkscape\trunk\src&lt;br /&gt;
* Group imported files in folders = true&lt;br /&gt;
* Build result directory: C:\src\inkscape\trunk\inkscape&lt;br /&gt;
* Build debuggable result: inkscape.exe&lt;br /&gt;
* Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Additional source directories: C:\devlibs&lt;br /&gt;
&lt;br /&gt;
Project settings:&lt;br /&gt;
&lt;br /&gt;
* Right click project-&amp;gt;WinGDB-&amp;gt;Properties-&amp;gt;:&lt;br /&gt;
* Environment-&amp;gt;Debugger path: C:\mingw\bin\gdb.exe&lt;br /&gt;
* Environment-&amp;gt;Build toolchain paths: C:\MinGW\bin;C:\src\inkscape\trunk&lt;br /&gt;
* Debug-&amp;gt;Executable path: C:\src\inkscape\trunk\inkscape\inkscape.exe&lt;br /&gt;
* Directories-&amp;gt;Additional source directories: C:\devlibs&lt;br /&gt;
* Project build-&amp;gt;Project build command: btool -j 8 (-j 8 is to compile with 8 threads)&lt;br /&gt;
* Project build-&amp;gt;Project rebuild command: btool clean; btool -j 8 &lt;br /&gt;
* Project build-&amp;gt;Project clean command: btool clean&lt;br /&gt;
* Project build-&amp;gt;Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
Building:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Build-&amp;gt;Build projectname&lt;br /&gt;
&lt;br /&gt;
Debugging:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Start debugging&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96092</id>
		<title>Using Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96092"/>
		<updated>2015-03-07T04:07:51Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Create project in Visual Studio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Microsoft Visual Studio is a popular development tool used primarily with C, C++, and C#. Visual Studio (community edition) can be downloaded for free but it requires a plugin called VisualGDB or WinGDB. These plugins are not free, but fully functional evaluation versions are available. This wiki focuses on the VisualGDB plugin, but WinGDB settings are also provided.&lt;br /&gt;
&lt;br /&gt;
This page will help you set up Visual Studio for coding, building, and stepping through code in Inkcape.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
# Follow all steps of guide [[Compiling Inkscape on Windows]]. &lt;br /&gt;
# Make sure Inkcape compiles correctly using the console first.&lt;br /&gt;
# Install Visual Studio.&lt;br /&gt;
# Install VisualGDB.&lt;br /&gt;
# Set the Environment variables in the Windows System settings as described here: [[Compiling Inkscape on Windows]]. Do not use mingwenv.bat to set the environment variables.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' It is assumed the required packages are installed in the following directories:&lt;br /&gt;
* c:\mingw&lt;br /&gt;
* c:\devlibs&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
= Create project in Visual Studio =&lt;br /&gt;
&lt;br /&gt;
# Open Visual Studio.&lt;br /&gt;
# Select File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;VisualGDB-&amp;gt;MinGW/Cygwin Project Wizard.&lt;br /&gt;
# For the project location, do not use a path with spaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:new-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Give the project a name, and click OK.&lt;br /&gt;
# At the wizard, select Project Type-&amp;gt;Import a project build with command-line tools.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Check the path to MinGW is correct.&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Set the Inkscape source directory to:&lt;br /&gt;
#* c:\src\inkscape\trunk&lt;br /&gt;
#* '''Note:''' Do not set this directory to \src&lt;br /&gt;
# Select Import preserving directory structure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# At Build Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot;&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Clean Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; clean&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Debug Settings-&amp;gt;Executable file to debug, browse to: &lt;br /&gt;
#* C:\src\inkscape\trunk\inkscape\inkscape.exe&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:build-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#* '''Note:''' The field &amp;quot;Working directory relative to the build directory&amp;quot; is automatically set to &amp;quot;inkscape&amp;quot;. This is correct.&lt;br /&gt;
#Click Finish and wait for the project generation to finish.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VisualGDB will not copy the source files to the Visual Studio project directory, so you can still use Version Control the usual way.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Note:''' The project settings can be changed at a later time by going to: Project-&amp;gt;VisualGDB Project Properties.&lt;br /&gt;
&lt;br /&gt;
= Enable debugging =&lt;br /&gt;
&lt;br /&gt;
In Explorer, open build.xml located in:&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
Then look for the &amp;quot;T A R G E T : C O M P I L E&amp;quot; section, go to the &amp;lt;flags&amp;gt; section, and change&amp;lt;br /&amp;gt;&lt;br /&gt;
  -O2&lt;br /&gt;
to&lt;br /&gt;
  -O0&lt;br /&gt;
&lt;br /&gt;
Also add this flag:&amp;lt;br /&amp;gt;&lt;br /&gt;
  -g&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:flags.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then search for this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;true&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
And change to this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;false&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:strip.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' these changes will make Inkscape very slow to compile.&lt;br /&gt;
&lt;br /&gt;
= Building Inkscape =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, select Build-&amp;gt;Clean Solution.&lt;br /&gt;
# Then select Build-&amp;gt;Build Solution.&lt;br /&gt;
# Come back later. This will take a while.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The compiler will seem to be stuck at this for a while, but that is normal:&lt;br /&gt;
  1&amp;gt;  --- compile / cc&lt;br /&gt;
&lt;br /&gt;
= Stepping through code =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, go to Solution Explorer-&amp;gt;Inkscape-&amp;gt;Source Files-&amp;gt;src-&amp;gt;main.cpp, and set a breakpoint here:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:breakpoint.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Select Debug-&amp;gt;Start Debugging With GDB.&lt;br /&gt;
# If you get a &amp;quot;GDB command timeout&amp;quot; window, be patient.&lt;br /&gt;
# Inkscape will stop at the breakpoint. Happy debugging.&lt;br /&gt;
&lt;br /&gt;
= Trouble shooting =&lt;br /&gt;
&lt;br /&gt;
== Unable to break ==&lt;br /&gt;
&lt;br /&gt;
In case Visual Studio cannot break at a certain breakpoint (most likely no debugging symbols present), you can diagnose breakpoint problems using the VisualGDB diagnose tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:diagnose-breakpoint.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make error ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, it means the environment variables are not set up correctly. Do not use mingwenv.bat to set up the environment variables, but set them in the Windows System Settings instead as described here: [[Compiling Inkscape on Windows#Set_Environmental_Variables|Setting Environment Variables]]&lt;br /&gt;
&lt;br /&gt;
Error:&lt;br /&gt;
  --- i18n / msgfmt&lt;br /&gt;
  Make error line 422: executeCommand : could not create process : the system cannot find the file specified.&lt;br /&gt;
  Make error line 422: &amp;lt;msgfmt&amp;gt; problem:&lt;br /&gt;
&lt;br /&gt;
== Build failed ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, the main build directory is incorrect. Delete the project and make a new project using the wizard, paying attention to the correct paths.&lt;br /&gt;
&lt;br /&gt;
  Error 1	error : Command-line action failed&lt;br /&gt;
  Error 2	error : Build has failed. See the Output window for more details.&lt;br /&gt;
  Error 3	error MSB3073: The command &amp;quot;&amp;quot;C:\VisualGDB\\VisualGDB.exe&amp;quot; /build exited with code 1.&lt;br /&gt;
&lt;br /&gt;
= WinGDB settings =&lt;br /&gt;
&lt;br /&gt;
Wizard settings:&lt;br /&gt;
&lt;br /&gt;
* File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;WinGDB-&amp;gt;WinGDB Standard Projects-&amp;gt;Multiplatform Executable-&amp;gt;OK&lt;br /&gt;
* MinGW installation directory: C:\MinGW&lt;br /&gt;
* Make executable location: C:\src\inkscape\trunk\btool.exe&lt;br /&gt;
* Source dir: C:\src\inkscape\trunk\src&lt;br /&gt;
* Group imported files in folders = true&lt;br /&gt;
* Build result directory: C:\src\inkscape\trunk\inkscape&lt;br /&gt;
* Build debuggable result: inkscape.exe&lt;br /&gt;
* Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Additional source directories: C:\devlibs&lt;br /&gt;
&lt;br /&gt;
Project settings:&lt;br /&gt;
&lt;br /&gt;
* Right click project-&amp;gt;WinGDB-&amp;gt;Properties-&amp;gt;:&lt;br /&gt;
* Environment-&amp;gt;Debugger path: C:\mingw\bin\gdb.exe&lt;br /&gt;
* Environment-&amp;gt;Build toolchain paths: C:\MinGW\bin;C:\src\inkscape\trunk&lt;br /&gt;
* Debug-&amp;gt;Executable path: C:\src\inkscape\trunk\inkscape\inkscape.exe&lt;br /&gt;
* Directories-&amp;gt;Additional source directories: C:\devlibs&lt;br /&gt;
* Project build-&amp;gt;Project build command: btool -j 8 (-j 8 is to compile with 8 threads)&lt;br /&gt;
* Project build-&amp;gt;Project rebuild command: btool clean; btool -j 8 &lt;br /&gt;
* Project build-&amp;gt;Project clean command: btool clean&lt;br /&gt;
* Project build-&amp;gt;Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
Building:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Build-&amp;gt;Build projectname&lt;br /&gt;
&lt;br /&gt;
Debugging:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Start debugging&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96086</id>
		<title>Using Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96086"/>
		<updated>2015-03-07T03:32:43Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Build failed */ rewording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Microsoft Visual Studio is a popular development tool used primarily with C, C++, and C#. Visual Studio (community edition) can be downloaded for free but it requires a plugin called VisualGDB or WinGDB. These plugins are not free, but fully functional evaluation versions are available. This wiki focuses on the VisualGDB plugin, but WinGDB settings are also provided.&lt;br /&gt;
&lt;br /&gt;
This page will help you set up Visual Studio for coding, building, and stepping through code in Inkcape.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
# Follow all steps of guide [[Compiling Inkscape on Windows]]. &lt;br /&gt;
# Make sure Inkcape compiles correctly using the console first.&lt;br /&gt;
# Install Visual Studio.&lt;br /&gt;
# Install VisualGDB.&lt;br /&gt;
# Set the Environment variables in the Windows System settings as described here: [[Compiling Inkscape on Windows]]. Do not use mingwenv.bat to set the environment variables.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' It is assumed the required packages are installed in the following directories:&lt;br /&gt;
* c:\mingw&lt;br /&gt;
* c:\devlibs&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
= Create project in Visual Studio =&lt;br /&gt;
&lt;br /&gt;
# Open Visual Studio.&lt;br /&gt;
# Select File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;VisualGDB-&amp;gt;MinGW/Cygwin Project Wizard.&lt;br /&gt;
# For the project location, do not use a path with spaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:new-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Give the project a name, and click OK.&lt;br /&gt;
# At the wizard, select Project Type-&amp;gt;Import a project build with command-line tools.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Check the path to MinGW is correct.&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Set the Inkscape source directory to:&lt;br /&gt;
#* c:\src\inkscape\trunk&lt;br /&gt;
# Select Import preserving directory structure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# At Build Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot;&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Clean Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; clean&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Debug Settings-&amp;gt;Executable file to debug, browse to: &lt;br /&gt;
#* C:\src\inkscape\trunk\inkscape\inkscape.exe&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:build-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#Click Finish and wait for the project generation to finish.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VisualGDB will not copy the source files to the Visual Studio project directory, so you can still use Version Control the usual way.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Note:''' The project settings can be changed at a later time by going to: Project-&amp;gt;VisualGDB Project Properties.&lt;br /&gt;
&lt;br /&gt;
= Enable debugging =&lt;br /&gt;
&lt;br /&gt;
In Explorer, open build.xml located in:&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
Then look for the &amp;quot;T A R G E T : C O M P I L E&amp;quot; section, go to the &amp;lt;flags&amp;gt; section, and change&amp;lt;br /&amp;gt;&lt;br /&gt;
  -O2&lt;br /&gt;
to&lt;br /&gt;
  -O0&lt;br /&gt;
&lt;br /&gt;
Also add this flag:&amp;lt;br /&amp;gt;&lt;br /&gt;
  -g&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:flags.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then search for this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;true&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
And change to this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;false&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:strip.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' these changes will make Inkscape very slow to compile.&lt;br /&gt;
&lt;br /&gt;
= Building Inkscape =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, select Build-&amp;gt;Clean Solution.&lt;br /&gt;
# Then select Build-&amp;gt;Build Solution.&lt;br /&gt;
# Come back later. This will take a while.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The compiler will seem to be stuck at this for a while, but that is normal:&lt;br /&gt;
  1&amp;gt;  --- compile / cc&lt;br /&gt;
&lt;br /&gt;
= Stepping through code =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, go to Solution Explorer-&amp;gt;Inkscape-&amp;gt;Source Files-&amp;gt;src-&amp;gt;main.cpp, and set a breakpoint here:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:breakpoint.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Select Debug-&amp;gt;Start Debugging With GDB.&lt;br /&gt;
# If you get a &amp;quot;GDB command timeout&amp;quot; window, be patient.&lt;br /&gt;
# Inkscape will stop at the breakpoint. Happy debugging.&lt;br /&gt;
&lt;br /&gt;
= Trouble shooting =&lt;br /&gt;
&lt;br /&gt;
== Unable to break ==&lt;br /&gt;
&lt;br /&gt;
In case Visual Studio cannot break at a certain breakpoint (most likely no debugging symbols present), you can diagnose breakpoint problems using the VisualGDB diagnose tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:diagnose-breakpoint.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make error ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, it means the environment variables are not set up correctly. Do not use mingwenv.bat to set up the environment variables, but set them in the Windows System Settings instead as described here: [[Compiling Inkscape on Windows#Set_Environmental_Variables|Setting Environment Variables]]&lt;br /&gt;
&lt;br /&gt;
Error:&lt;br /&gt;
  --- i18n / msgfmt&lt;br /&gt;
  Make error line 422: executeCommand : could not create process : the system cannot find the file specified.&lt;br /&gt;
  Make error line 422: &amp;lt;msgfmt&amp;gt; problem:&lt;br /&gt;
&lt;br /&gt;
== Build failed ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, the main build directory is incorrect. Delete the project and make a new project using the wizard, paying attention to the correct paths.&lt;br /&gt;
&lt;br /&gt;
  Error 1	error : Command-line action failed&lt;br /&gt;
  Error 2	error : Build has failed. See the Output window for more details.&lt;br /&gt;
  Error 3	error MSB3073: The command &amp;quot;&amp;quot;C:\VisualGDB\\VisualGDB.exe&amp;quot; /build exited with code 1.&lt;br /&gt;
&lt;br /&gt;
= WinGDB settings =&lt;br /&gt;
&lt;br /&gt;
Wizard settings:&lt;br /&gt;
&lt;br /&gt;
* File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;WinGDB-&amp;gt;WinGDB Standard Projects-&amp;gt;Multiplatform Executable-&amp;gt;OK&lt;br /&gt;
* MinGW installation directory: C:\MinGW&lt;br /&gt;
* Make executable location: C:\src\inkscape\trunk\btool.exe&lt;br /&gt;
* Source dir: C:\src\inkscape\trunk\src&lt;br /&gt;
* Group imported files in folders = true&lt;br /&gt;
* Build result directory: C:\src\inkscape\trunk\inkscape&lt;br /&gt;
* Build debuggable result: inkscape.exe&lt;br /&gt;
* Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Additional source directories: C:\devlibs&lt;br /&gt;
&lt;br /&gt;
Project settings:&lt;br /&gt;
&lt;br /&gt;
* Right click project-&amp;gt;WinGDB-&amp;gt;Properties-&amp;gt;:&lt;br /&gt;
* Environment-&amp;gt;Debugger path: C:\mingw\bin\gdb.exe&lt;br /&gt;
* Environment-&amp;gt;Build toolchain paths: C:\MinGW\bin;C:\src\inkscape\trunk&lt;br /&gt;
* Debug-&amp;gt;Executable path: C:\src\inkscape\trunk\inkscape\inkscape.exe&lt;br /&gt;
* Directories-&amp;gt;Additional source directories: C:\devlibs&lt;br /&gt;
* Project build-&amp;gt;Project build command: btool -j 8 (-j 8 is to compile with 8 threads)&lt;br /&gt;
* Project build-&amp;gt;Project rebuild command: btool clean; btool -j 8 &lt;br /&gt;
* Project build-&amp;gt;Project clean command: btool clean&lt;br /&gt;
* Project build-&amp;gt;Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
Building:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Build-&amp;gt;Build projectname&lt;br /&gt;
&lt;br /&gt;
Debugging:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Start debugging&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96080</id>
		<title>Using Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96080"/>
		<updated>2015-03-07T03:26:24Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Trouble shooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Microsoft Visual Studio is a popular development tool used primarily with C, C++, and C#. Visual Studio (community edition) can be downloaded for free but it requires a plugin called VisualGDB or WinGDB. These plugins are not free, but fully functional evaluation versions are available. This wiki focuses on the VisualGDB plugin, but WinGDB settings are also provided.&lt;br /&gt;
&lt;br /&gt;
This page will help you set up Visual Studio for coding, building, and stepping through code in Inkcape.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
# Follow all steps of guide [[Compiling Inkscape on Windows]]. &lt;br /&gt;
# Make sure Inkcape compiles correctly using the console first.&lt;br /&gt;
# Install Visual Studio.&lt;br /&gt;
# Install VisualGDB.&lt;br /&gt;
# Set the Environment variables in the Windows System settings as described here: [[Compiling Inkscape on Windows]]. Do not use mingwenv.bat to set the environment variables.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' It is assumed the required packages are installed in the following directories:&lt;br /&gt;
* c:\mingw&lt;br /&gt;
* c:\devlibs&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
= Create project in Visual Studio =&lt;br /&gt;
&lt;br /&gt;
# Open Visual Studio.&lt;br /&gt;
# Select File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;VisualGDB-&amp;gt;MinGW/Cygwin Project Wizard.&lt;br /&gt;
# For the project location, do not use a path with spaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:new-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Give the project a name, and click OK.&lt;br /&gt;
# At the wizard, select Project Type-&amp;gt;Import a project build with command-line tools.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Check the path to MinGW is correct.&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Set the Inkscape source directory to:&lt;br /&gt;
#* c:\src\inkscape\trunk&lt;br /&gt;
# Select Import preserving directory structure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# At Build Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot;&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Clean Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; clean&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Debug Settings-&amp;gt;Executable file to debug, browse to: &lt;br /&gt;
#* C:\src\inkscape\trunk\inkscape\inkscape.exe&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:build-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#Click Finish and wait for the project generation to finish.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VisualGDB will not copy the source files to the Visual Studio project directory, so you can still use Version Control the usual way.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Note:''' The project settings can be changed at a later time by going to: Project-&amp;gt;VisualGDB Project Properties.&lt;br /&gt;
&lt;br /&gt;
= Enable debugging =&lt;br /&gt;
&lt;br /&gt;
In Explorer, open build.xml located in:&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
Then look for the &amp;quot;T A R G E T : C O M P I L E&amp;quot; section, go to the &amp;lt;flags&amp;gt; section, and change&amp;lt;br /&amp;gt;&lt;br /&gt;
  -O2&lt;br /&gt;
to&lt;br /&gt;
  -O0&lt;br /&gt;
&lt;br /&gt;
Also add this flag:&amp;lt;br /&amp;gt;&lt;br /&gt;
  -g&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:flags.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then search for this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;true&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
And change to this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;false&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:strip.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' these changes will make Inkscape very slow to compile.&lt;br /&gt;
&lt;br /&gt;
= Building Inkscape =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, select Build-&amp;gt;Clean Solution.&lt;br /&gt;
# Then select Build-&amp;gt;Build Solution.&lt;br /&gt;
# Come back later. This will take a while.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The compiler will seem to be stuck at this for a while, but that is normal:&lt;br /&gt;
  1&amp;gt;  --- compile / cc&lt;br /&gt;
&lt;br /&gt;
= Stepping through code =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, go to Solution Explorer-&amp;gt;Inkscape-&amp;gt;Source Files-&amp;gt;src-&amp;gt;main.cpp, and set a breakpoint here:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:breakpoint.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Select Debug-&amp;gt;Start Debugging With GDB.&lt;br /&gt;
# If you get a &amp;quot;GDB command timeout&amp;quot; window, be patient.&lt;br /&gt;
# Inkscape will stop at the breakpoint. Happy debugging.&lt;br /&gt;
&lt;br /&gt;
= Trouble shooting =&lt;br /&gt;
&lt;br /&gt;
== Unable to break ==&lt;br /&gt;
&lt;br /&gt;
In case Visual Studio cannot break at a certain breakpoint (most likely no debugging symbols present), you can diagnose breakpoint problems using the VisualGDB diagnose tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:diagnose-breakpoint.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make error ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, it means the environment variables are not set up correctly. Do not use mingwenv.bat to set up the environment variables, but set them in the Windows System Settings instead as described here: [[Compiling Inkscape on Windows#Set_Environmental_Variables|Setting Environment Variables]]&lt;br /&gt;
&lt;br /&gt;
Error:&lt;br /&gt;
  --- i18n / msgfmt&lt;br /&gt;
  Make error line 422: executeCommand : could not create process : the system cannot find the file specified.&lt;br /&gt;
  Make error line 422: &amp;lt;msgfmt&amp;gt; problem:&lt;br /&gt;
&lt;br /&gt;
== Build failed ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, the main build directory is incorrect. Go to: Project-&amp;gt;VisualGDB Project Properties-&amp;gt;Build Settings-&amp;gt;Main Build Directory, and change to the directory where btool is located. If that doesn't work, delete the project and make a new project using the wizard.&lt;br /&gt;
&lt;br /&gt;
  Error 1	error : Command-line action failed&lt;br /&gt;
  Error 2	error : Build has failed. See the Output window for more details.&lt;br /&gt;
  Error 3	error MSB3073: The command &amp;quot;&amp;quot;C:\VisualGDB\\VisualGDB.exe&amp;quot; /build exited with code 1.&lt;br /&gt;
&lt;br /&gt;
= WinGDB settings =&lt;br /&gt;
&lt;br /&gt;
Wizard settings:&lt;br /&gt;
&lt;br /&gt;
* File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;WinGDB-&amp;gt;WinGDB Standard Projects-&amp;gt;Multiplatform Executable-&amp;gt;OK&lt;br /&gt;
* MinGW installation directory: C:\MinGW&lt;br /&gt;
* Make executable location: C:\src\inkscape\trunk\btool.exe&lt;br /&gt;
* Source dir: C:\src\inkscape\trunk\src&lt;br /&gt;
* Group imported files in folders = true&lt;br /&gt;
* Build result directory: C:\src\inkscape\trunk\inkscape&lt;br /&gt;
* Build debuggable result: inkscape.exe&lt;br /&gt;
* Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Additional source directories: C:\devlibs&lt;br /&gt;
&lt;br /&gt;
Project settings:&lt;br /&gt;
&lt;br /&gt;
* Right click project-&amp;gt;WinGDB-&amp;gt;Properties-&amp;gt;:&lt;br /&gt;
* Environment-&amp;gt;Debugger path: C:\mingw\bin\gdb.exe&lt;br /&gt;
* Environment-&amp;gt;Build toolchain paths: C:\MinGW\bin;C:\src\inkscape\trunk&lt;br /&gt;
* Debug-&amp;gt;Executable path: C:\src\inkscape\trunk\inkscape\inkscape.exe&lt;br /&gt;
* Directories-&amp;gt;Additional source directories: C:\devlibs&lt;br /&gt;
* Project build-&amp;gt;Project build command: btool -j 8 (-j 8 is to compile with 8 threads)&lt;br /&gt;
* Project build-&amp;gt;Project rebuild command: btool clean; btool -j 8 &lt;br /&gt;
* Project build-&amp;gt;Project clean command: btool clean&lt;br /&gt;
* Project build-&amp;gt;Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
Building:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Build-&amp;gt;Build projectname&lt;br /&gt;
&lt;br /&gt;
Debugging:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Start debugging&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96074</id>
		<title>Using Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96074"/>
		<updated>2015-03-07T02:58:03Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Create project in Visual Studio */ formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Microsoft Visual Studio is a popular development tool used primarily with C, C++, and C#. Visual Studio (community edition) can be downloaded for free but it requires a plugin called VisualGDB or WinGDB. These plugins are not free, but fully functional evaluation versions are available. This wiki focuses on the VisualGDB plugin, but WinGDB settings are also provided.&lt;br /&gt;
&lt;br /&gt;
This page will help you set up Visual Studio for coding, building, and stepping through code in Inkcape.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
# Follow all steps of guide [[Compiling Inkscape on Windows]]. &lt;br /&gt;
# Make sure Inkcape compiles correctly using the console first.&lt;br /&gt;
# Install Visual Studio.&lt;br /&gt;
# Install VisualGDB.&lt;br /&gt;
# Set the Environment variables in the Windows System settings as described here: [[Compiling Inkscape on Windows]]. Do not use mingwenv.bat to set the environment variables.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' It is assumed the required packages are installed in the following directories:&lt;br /&gt;
* c:\mingw&lt;br /&gt;
* c:\devlibs&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
= Create project in Visual Studio =&lt;br /&gt;
&lt;br /&gt;
# Open Visual Studio.&lt;br /&gt;
# Select File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;VisualGDB-&amp;gt;MinGW/Cygwin Project Wizard.&lt;br /&gt;
# For the project location, do not use a path with spaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:new-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Give the project a name, and click OK.&lt;br /&gt;
# At the wizard, select Project Type-&amp;gt;Import a project build with command-line tools.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Check the path to MinGW is correct.&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Set the Inkscape source directory to:&lt;br /&gt;
#* c:\src\inkscape\trunk&lt;br /&gt;
# Select Import preserving directory structure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# At Build Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot;&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Clean Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; clean&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Debug Settings-&amp;gt;Executable file to debug, browse to: &lt;br /&gt;
#* C:\src\inkscape\trunk\inkscape\inkscape.exe&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:build-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#Click Finish and wait for the project generation to finish.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VisualGDB will not copy the source files to the Visual Studio project directory, so you can still use Version Control the usual way.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Note:''' The project settings can be changed at a later time by going to: Project-&amp;gt;VisualGDB Project Properties.&lt;br /&gt;
&lt;br /&gt;
= Enable debugging =&lt;br /&gt;
&lt;br /&gt;
In Explorer, open build.xml located in:&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
Then look for the &amp;quot;T A R G E T : C O M P I L E&amp;quot; section, go to the &amp;lt;flags&amp;gt; section, and change&amp;lt;br /&amp;gt;&lt;br /&gt;
  -O2&lt;br /&gt;
to&lt;br /&gt;
  -O0&lt;br /&gt;
&lt;br /&gt;
Also add this flag:&amp;lt;br /&amp;gt;&lt;br /&gt;
  -g&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:flags.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then search for this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;true&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
And change to this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;false&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:strip.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' these changes will make Inkscape very slow to compile.&lt;br /&gt;
&lt;br /&gt;
= Building Inkscape =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, select Build-&amp;gt;Clean Solution.&lt;br /&gt;
# Then select Build-&amp;gt;Build Solution.&lt;br /&gt;
# Come back later. This will take a while.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The compiler will seem to be stuck at this for a while, but that is normal:&lt;br /&gt;
  1&amp;gt;  --- compile / cc&lt;br /&gt;
&lt;br /&gt;
= Stepping through code =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, go to Solution Explorer-&amp;gt;Inkscape-&amp;gt;Source Files-&amp;gt;src-&amp;gt;main.cpp, and set a breakpoint here:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:breakpoint.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Select Debug-&amp;gt;Start Debugging With GDB.&lt;br /&gt;
# If you get a &amp;quot;GDB command timeout&amp;quot; window, be patient.&lt;br /&gt;
# Inkscape will stop at the breakpoint. Happy debugging.&lt;br /&gt;
&lt;br /&gt;
= Trouble shooting =&lt;br /&gt;
&lt;br /&gt;
== Unable to break ==&lt;br /&gt;
&lt;br /&gt;
In case Visual Studio cannot break at a certain breakpoint (most likely no debugging symbols present), you can diagnose breakpoint problems using the VisualGDB diagnose tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:diagnose-breakpoint.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make error ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, it means the environment variables are not set up correctly. Do not use mingwenv.bat to set up the environment variables, but set them in the Windows System Settings instead as described here: [[Compiling Inkscape on Windows#Set_Environmental_Variables|Setting Environment Variables]]&lt;br /&gt;
&lt;br /&gt;
Error:&lt;br /&gt;
  --- i18n / msgfmt&lt;br /&gt;
  Make error line 422: executeCommand : could not create process : the system cannot find the file specified.&lt;br /&gt;
  Make error line 422: &amp;lt;msgfmt&amp;gt; problem:&lt;br /&gt;
&lt;br /&gt;
= WinGDB settings =&lt;br /&gt;
&lt;br /&gt;
Wizard settings:&lt;br /&gt;
&lt;br /&gt;
* File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;WinGDB-&amp;gt;WinGDB Standard Projects-&amp;gt;Multiplatform Executable-&amp;gt;OK&lt;br /&gt;
* MinGW installation directory: C:\MinGW&lt;br /&gt;
* Make executable location: C:\src\inkscape\trunk\btool.exe&lt;br /&gt;
* Source dir: C:\src\inkscape\trunk\src&lt;br /&gt;
* Group imported files in folders = true&lt;br /&gt;
* Build result directory: C:\src\inkscape\trunk\inkscape&lt;br /&gt;
* Build debuggable result: inkscape.exe&lt;br /&gt;
* Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Additional source directories: C:\devlibs&lt;br /&gt;
&lt;br /&gt;
Project settings:&lt;br /&gt;
&lt;br /&gt;
* Right click project-&amp;gt;WinGDB-&amp;gt;Properties-&amp;gt;:&lt;br /&gt;
* Environment-&amp;gt;Debugger path: C:\mingw\bin\gdb.exe&lt;br /&gt;
* Environment-&amp;gt;Build toolchain paths: C:\MinGW\bin;C:\src\inkscape\trunk&lt;br /&gt;
* Debug-&amp;gt;Executable path: C:\src\inkscape\trunk\inkscape\inkscape.exe&lt;br /&gt;
* Directories-&amp;gt;Additional source directories: C:\devlibs&lt;br /&gt;
* Project build-&amp;gt;Project build command: btool -j 8 (-j 8 is to compile with 8 threads)&lt;br /&gt;
* Project build-&amp;gt;Project rebuild command: btool clean; btool -j 8 &lt;br /&gt;
* Project build-&amp;gt;Project clean command: btool clean&lt;br /&gt;
* Project build-&amp;gt;Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
Building:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Build-&amp;gt;Build projectname&lt;br /&gt;
&lt;br /&gt;
Debugging:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Start debugging&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96068</id>
		<title>Using Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96068"/>
		<updated>2015-03-07T02:57:03Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Create project in Visual Studio */ Added project properties location&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Microsoft Visual Studio is a popular development tool used primarily with C, C++, and C#. Visual Studio (community edition) can be downloaded for free but it requires a plugin called VisualGDB or WinGDB. These plugins are not free, but fully functional evaluation versions are available. This wiki focuses on the VisualGDB plugin, but WinGDB settings are also provided.&lt;br /&gt;
&lt;br /&gt;
This page will help you set up Visual Studio for coding, building, and stepping through code in Inkcape.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
# Follow all steps of guide [[Compiling Inkscape on Windows]]. &lt;br /&gt;
# Make sure Inkcape compiles correctly using the console first.&lt;br /&gt;
# Install Visual Studio.&lt;br /&gt;
# Install VisualGDB.&lt;br /&gt;
# Set the Environment variables in the Windows System settings as described here: [[Compiling Inkscape on Windows]]. Do not use mingwenv.bat to set the environment variables.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' It is assumed the required packages are installed in the following directories:&lt;br /&gt;
* c:\mingw&lt;br /&gt;
* c:\devlibs&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
= Create project in Visual Studio =&lt;br /&gt;
&lt;br /&gt;
# Open Visual Studio.&lt;br /&gt;
# Select File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;VisualGDB-&amp;gt;MinGW/Cygwin Project Wizard.&lt;br /&gt;
# For the project location, do not use a path with spaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:new-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Give the project a name, and click OK.&lt;br /&gt;
# At the wizard, select Project Type-&amp;gt;Import a project build with command-line tools.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Check the path to MinGW is correct.&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Set the Inkscape source directory to:&lt;br /&gt;
#* c:\src\inkscape\trunk&lt;br /&gt;
# Select Import preserving directory structure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# At Build Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot;&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Clean Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; clean&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Debug Settings-&amp;gt;Executable file to debug, browse to: &lt;br /&gt;
#* C:\src\inkscape\trunk\inkscape\inkscape.exe&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:build-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#Click Finish and wait for the project generation to finish.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VisualGDB will not copy the source files to the Visual Studio project directory, so you can still use Version Control the usual way.&lt;br /&gt;
'''Note:''' The project settings can be changed at a later time by going to: Project-&amp;gt;VisualGDB Project Properties.&lt;br /&gt;
&lt;br /&gt;
= Enable debugging =&lt;br /&gt;
&lt;br /&gt;
In Explorer, open build.xml located in:&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
Then look for the &amp;quot;T A R G E T : C O M P I L E&amp;quot; section, go to the &amp;lt;flags&amp;gt; section, and change&amp;lt;br /&amp;gt;&lt;br /&gt;
  -O2&lt;br /&gt;
to&lt;br /&gt;
  -O0&lt;br /&gt;
&lt;br /&gt;
Also add this flag:&amp;lt;br /&amp;gt;&lt;br /&gt;
  -g&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:flags.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then search for this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;true&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
And change to this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;false&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:strip.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' these changes will make Inkscape very slow to compile.&lt;br /&gt;
&lt;br /&gt;
= Building Inkscape =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, select Build-&amp;gt;Clean Solution.&lt;br /&gt;
# Then select Build-&amp;gt;Build Solution.&lt;br /&gt;
# Come back later. This will take a while.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The compiler will seem to be stuck at this for a while, but that is normal:&lt;br /&gt;
  1&amp;gt;  --- compile / cc&lt;br /&gt;
&lt;br /&gt;
= Stepping through code =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, go to Solution Explorer-&amp;gt;Inkscape-&amp;gt;Source Files-&amp;gt;src-&amp;gt;main.cpp, and set a breakpoint here:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:breakpoint.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Select Debug-&amp;gt;Start Debugging With GDB.&lt;br /&gt;
# If you get a &amp;quot;GDB command timeout&amp;quot; window, be patient.&lt;br /&gt;
# Inkscape will stop at the breakpoint. Happy debugging.&lt;br /&gt;
&lt;br /&gt;
= Trouble shooting =&lt;br /&gt;
&lt;br /&gt;
== Unable to break ==&lt;br /&gt;
&lt;br /&gt;
In case Visual Studio cannot break at a certain breakpoint (most likely no debugging symbols present), you can diagnose breakpoint problems using the VisualGDB diagnose tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:diagnose-breakpoint.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make error ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, it means the environment variables are not set up correctly. Do not use mingwenv.bat to set up the environment variables, but set them in the Windows System Settings instead as described here: [[Compiling Inkscape on Windows#Set_Environmental_Variables|Setting Environment Variables]]&lt;br /&gt;
&lt;br /&gt;
Error:&lt;br /&gt;
  --- i18n / msgfmt&lt;br /&gt;
  Make error line 422: executeCommand : could not create process : the system cannot find the file specified.&lt;br /&gt;
  Make error line 422: &amp;lt;msgfmt&amp;gt; problem:&lt;br /&gt;
&lt;br /&gt;
= WinGDB settings =&lt;br /&gt;
&lt;br /&gt;
Wizard settings:&lt;br /&gt;
&lt;br /&gt;
* File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;WinGDB-&amp;gt;WinGDB Standard Projects-&amp;gt;Multiplatform Executable-&amp;gt;OK&lt;br /&gt;
* MinGW installation directory: C:\MinGW&lt;br /&gt;
* Make executable location: C:\src\inkscape\trunk\btool.exe&lt;br /&gt;
* Source dir: C:\src\inkscape\trunk\src&lt;br /&gt;
* Group imported files in folders = true&lt;br /&gt;
* Build result directory: C:\src\inkscape\trunk\inkscape&lt;br /&gt;
* Build debuggable result: inkscape.exe&lt;br /&gt;
* Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Additional source directories: C:\devlibs&lt;br /&gt;
&lt;br /&gt;
Project settings:&lt;br /&gt;
&lt;br /&gt;
* Right click project-&amp;gt;WinGDB-&amp;gt;Properties-&amp;gt;:&lt;br /&gt;
* Environment-&amp;gt;Debugger path: C:\mingw\bin\gdb.exe&lt;br /&gt;
* Environment-&amp;gt;Build toolchain paths: C:\MinGW\bin;C:\src\inkscape\trunk&lt;br /&gt;
* Debug-&amp;gt;Executable path: C:\src\inkscape\trunk\inkscape\inkscape.exe&lt;br /&gt;
* Directories-&amp;gt;Additional source directories: C:\devlibs&lt;br /&gt;
* Project build-&amp;gt;Project build command: btool -j 8 (-j 8 is to compile with 8 threads)&lt;br /&gt;
* Project build-&amp;gt;Project rebuild command: btool clean; btool -j 8 &lt;br /&gt;
* Project build-&amp;gt;Project clean command: btool clean&lt;br /&gt;
* Project build-&amp;gt;Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
Building:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Build-&amp;gt;Build projectname&lt;br /&gt;
&lt;br /&gt;
Debugging:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Start debugging&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:Diagnose-breakpoint.png&amp;diff=96062</id>
		<title>File:Diagnose-breakpoint.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:Diagnose-breakpoint.png&amp;diff=96062"/>
		<updated>2015-03-07T02:52:41Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: uploaded a new version of &amp;amp;quot;File:Diagnose-breakpoint.png&amp;amp;quot;: Cropped&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96056</id>
		<title>Using Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96056"/>
		<updated>2015-03-07T02:48:45Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Trouble shooting */ Added make error sections&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Microsoft Visual Studio is a popular development tool used primarily with C, C++, and C#. Visual Studio (community edition) can be downloaded for free but it requires a plugin called VisualGDB or WinGDB. These plugins are not free, but fully functional evaluation versions are available. This wiki focuses on the VisualGDB plugin, but WinGDB settings are also provided.&lt;br /&gt;
&lt;br /&gt;
This page will help you set up Visual Studio for coding, building, and stepping through code in Inkcape.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
# Follow all steps of guide [[Compiling Inkscape on Windows]]. &lt;br /&gt;
# Make sure Inkcape compiles correctly using the console first.&lt;br /&gt;
# Install Visual Studio.&lt;br /&gt;
# Install VisualGDB.&lt;br /&gt;
# Set the Environment variables in the Windows System settings as described here: [[Compiling Inkscape on Windows]]. Do not use mingwenv.bat to set the environment variables.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' It is assumed the required packages are installed in the following directories:&lt;br /&gt;
* c:\mingw&lt;br /&gt;
* c:\devlibs&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
= Create project in Visual Studio =&lt;br /&gt;
&lt;br /&gt;
# Open Visual Studio.&lt;br /&gt;
# Select File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;VisualGDB-&amp;gt;MinGW/Cygwin Project Wizard.&lt;br /&gt;
# For the project location, do not use a path with spaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:new-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Give the project a name, and click OK.&lt;br /&gt;
# At the wizard, select Project Type-&amp;gt;Import a project build with command-line tools.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Check the path to MinGW is correct.&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Set the Inkscape source directory to:&lt;br /&gt;
#* c:\src\inkscape\trunk&lt;br /&gt;
# Select Import preserving directory structure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# At Build Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot;&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Clean Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; clean&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Debug Settings-&amp;gt;Executable file to debug, browse to: &lt;br /&gt;
#* C:\src\inkscape\trunk\inkscape\inkscape.exe&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:build-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#Click Finish and wait for the project generation to finish.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VisualGDB will not copy the source files to the Visual Studio project directory, so you can still use Version Control the usual way.&lt;br /&gt;
&lt;br /&gt;
= Enable debugging =&lt;br /&gt;
&lt;br /&gt;
In Explorer, open build.xml located in:&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
Then look for the &amp;quot;T A R G E T : C O M P I L E&amp;quot; section, go to the &amp;lt;flags&amp;gt; section, and change&amp;lt;br /&amp;gt;&lt;br /&gt;
  -O2&lt;br /&gt;
to&lt;br /&gt;
  -O0&lt;br /&gt;
&lt;br /&gt;
Also add this flag:&amp;lt;br /&amp;gt;&lt;br /&gt;
  -g&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:flags.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then search for this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;true&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
And change to this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;false&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:strip.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' these changes will make Inkscape very slow to compile.&lt;br /&gt;
&lt;br /&gt;
= Building Inkscape =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, select Build-&amp;gt;Clean Solution.&lt;br /&gt;
# Then select Build-&amp;gt;Build Solution.&lt;br /&gt;
# Come back later. This will take a while.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The compiler will seem to be stuck at this for a while, but that is normal:&lt;br /&gt;
  1&amp;gt;  --- compile / cc&lt;br /&gt;
&lt;br /&gt;
= Stepping through code =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, go to Solution Explorer-&amp;gt;Inkscape-&amp;gt;Source Files-&amp;gt;src-&amp;gt;main.cpp, and set a breakpoint here:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:breakpoint.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Select Debug-&amp;gt;Start Debugging With GDB.&lt;br /&gt;
# If you get a &amp;quot;GDB command timeout&amp;quot; window, be patient.&lt;br /&gt;
# Inkscape will stop at the breakpoint. Happy debugging.&lt;br /&gt;
&lt;br /&gt;
= Trouble shooting =&lt;br /&gt;
&lt;br /&gt;
== Unable to break ==&lt;br /&gt;
&lt;br /&gt;
In case Visual Studio cannot break at a certain breakpoint (most likely no debugging symbols present), you can diagnose breakpoint problems using the VisualGDB diagnose tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:diagnose-breakpoint.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make error ==&lt;br /&gt;
&lt;br /&gt;
If you get the error below, it means the environment variables are not set up correctly. Do not use mingwenv.bat to set up the environment variables, but set them in the Windows System Settings instead as described here: [[Compiling Inkscape on Windows#Set_Environmental_Variables|Setting Environment Variables]]&lt;br /&gt;
&lt;br /&gt;
Error:&lt;br /&gt;
  --- i18n / msgfmt&lt;br /&gt;
  Make error line 422: executeCommand : could not create process : the system cannot find the file specified.&lt;br /&gt;
  Make error line 422: &amp;lt;msgfmt&amp;gt; problem:&lt;br /&gt;
&lt;br /&gt;
= WinGDB settings =&lt;br /&gt;
&lt;br /&gt;
Wizard settings:&lt;br /&gt;
&lt;br /&gt;
* File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;WinGDB-&amp;gt;WinGDB Standard Projects-&amp;gt;Multiplatform Executable-&amp;gt;OK&lt;br /&gt;
* MinGW installation directory: C:\MinGW&lt;br /&gt;
* Make executable location: C:\src\inkscape\trunk\btool.exe&lt;br /&gt;
* Source dir: C:\src\inkscape\trunk\src&lt;br /&gt;
* Group imported files in folders = true&lt;br /&gt;
* Build result directory: C:\src\inkscape\trunk\inkscape&lt;br /&gt;
* Build debuggable result: inkscape.exe&lt;br /&gt;
* Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Additional source directories: C:\devlibs&lt;br /&gt;
&lt;br /&gt;
Project settings:&lt;br /&gt;
&lt;br /&gt;
* Right click project-&amp;gt;WinGDB-&amp;gt;Properties-&amp;gt;:&lt;br /&gt;
* Environment-&amp;gt;Debugger path: C:\mingw\bin\gdb.exe&lt;br /&gt;
* Environment-&amp;gt;Build toolchain paths: C:\MinGW\bin;C:\src\inkscape\trunk&lt;br /&gt;
* Debug-&amp;gt;Executable path: C:\src\inkscape\trunk\inkscape\inkscape.exe&lt;br /&gt;
* Directories-&amp;gt;Additional source directories: C:\devlibs&lt;br /&gt;
* Project build-&amp;gt;Project build command: btool -j 8 (-j 8 is to compile with 8 threads)&lt;br /&gt;
* Project build-&amp;gt;Project rebuild command: btool clean; btool -j 8 &lt;br /&gt;
* Project build-&amp;gt;Project clean command: btool clean&lt;br /&gt;
* Project build-&amp;gt;Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
Building:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Build-&amp;gt;Build projectname&lt;br /&gt;
&lt;br /&gt;
Debugging:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Start debugging&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Inkscape&amp;diff=96050</id>
		<title>Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Inkscape&amp;diff=96050"/>
		<updated>2015-03-07T02:38:33Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* First Steps */  Added Compiling Inkscape on Windows link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a freeform area for Inkscape development and discussion.  &lt;br /&gt;
Curious about [[WikiSyntax]]?&lt;br /&gt;
&lt;br /&gt;
Other languages: [[Inkscape en español|Wiki en español]], [[L'Inkscape en Català|Wiki en Català]], [[Inkscape em Português|Wiki em Português]], [[Startseite|Wiki auf deutsch]]...&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;11&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:33%;background-color: #E6E6E6; padding:.5em;&amp;quot;|&lt;br /&gt;
=== Project Info ===&lt;br /&gt;
* [http://www.inkscape.org/ Inkscape Homepage]&lt;br /&gt;
* [[About Inkscape]]&lt;br /&gt;
* [[Features of Inkscape|Features]]&lt;br /&gt;
* [[FAQ]] - Frequently Asked Questions&lt;br /&gt;
* [[Supported operating systems]]&lt;br /&gt;
* [[Tools]] - Supporting Tools and Applications&lt;br /&gt;
* [[Galleries]]&lt;br /&gt;
* [[Inkscape coverage|Coverage]] - Awards, articles, presentations, books about Inkscape&lt;br /&gt;
* [[Inkscape popularity|Popularity]]&lt;br /&gt;
* [[Contact information]] - the developers' e-mails and SVN nicknames&lt;br /&gt;
* [[InkscapeInvariants|Inkscape's Mission]]&lt;br /&gt;
* [[CommunicationChannels|Communication Channels]]: how to reach us&lt;br /&gt;
* [[AnnouncementToSodipodi|Announcement To Sodipodi]]: this started it all&lt;br /&gt;
* [[Branding]]&lt;br /&gt;
* [[ContactInfo|Contact Information]]: who's behind Inkscape&lt;br /&gt;
* [[Travel Reimbursement Policy]]&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;width:33%;;background-color: white; padding:.5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== User Documentation ===&lt;br /&gt;
* [[Installing Inkscape|Installation]]&lt;br /&gt;
* [[International and Local Communities]]&lt;br /&gt;
* [[Inkscape glossary]]&lt;br /&gt;
* [[User manual information]] - where to find the free Inkscape manual and how to contribute to it&lt;br /&gt;
* [http://inkscape.org/en/learn/tutorials/ Tutorials]&lt;br /&gt;
* [[Inkscape SVG vs. plain SVG]]&lt;br /&gt;
* [[Output format requirements]] - what's needed to save in some formats&lt;br /&gt;
* [[Effect requirements]] - what's needed to use some effects&lt;br /&gt;
* [[Effect reference]] - what each effect does&lt;br /&gt;
* [[Connector tool tutorial]]&lt;br /&gt;
* [[Installing fonts]]&lt;br /&gt;
* [[Emergency save]] - recovery in case Inkscape crashed&lt;br /&gt;
* [[Release notes]]&lt;br /&gt;
** '''for version [[Release notes/0.92|0.92]] (active development)'''&lt;br /&gt;
** '''for version [[Release notes/0.91|0.91]] (current release)'''&lt;br /&gt;
** older versions: [[Release notes/0.48.5|0.48.5]] [[Release notes/0.48.4|0.48.4]] [[Release notes/0.48.3|0.48.3]], [[Release notes/0.48.2|0.48.2]], [[Release notes/0.48.1|0.48.1]], [[Release notes/0.48|0.48]], [[Release notes/0.47|0.47]]&lt;br /&gt;
* [[Announcing Releases]]&lt;br /&gt;
* [[Tricks and tips]] - miscellaneous advice, may be slightly outdated&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;width:33%;background-color: #E6E6E6; padding:.5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== Help Inkscape Without Coding === &lt;br /&gt;
* [[Bug management]]&lt;br /&gt;
* [[Testing]]&lt;br /&gt;
* [[Translation information]]&lt;br /&gt;
* [[Editing Inkscape's website|Website]]&lt;br /&gt;
* [[Inkscape Classes]]&lt;br /&gt;
* [[Conferences]]&lt;br /&gt;
* [[Marketing Scratchpad]]&lt;br /&gt;
&lt;br /&gt;
* [[HelpWanted]]&lt;br /&gt;
* [[BugTriageProjects]]&lt;br /&gt;
* [[CreatingDists]]: how to build packages&lt;br /&gt;
* [[StableBranchUpdates]]&lt;br /&gt;
* [[UpdatingTrackerItems]]&lt;br /&gt;
* [[TutorialsAndHelp]]&lt;br /&gt;
* [[How_To_Start_A_Page]] how to use the wiki&lt;br /&gt;
* [[CreatingScreencasts]]&lt;br /&gt;
* [[AboutScreenContest]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;width: 100%; background-color: white; border-width:1px; border-style:solid; border-color:#62C012; align:left; padding:11px 0em 0em 11px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== Developer Documentation ===&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== First Steps ====&lt;br /&gt;
* [[Working with Bazaar]] - How to obtain the source code. A quick start on how to use our version control system&lt;br /&gt;
* [[Compiling Inkscape|Compilation]]&lt;br /&gt;
* [[Compiling Inkscape on Windows]]&lt;br /&gt;
* [[Using Eclipse]] - Debug Inkscape on Windows using Eclipse (outdated)&lt;br /&gt;
* [[Using Visual Studio]] - Debug Inkscape on Windows using Microsoft Visual Studio&lt;br /&gt;
* [[Developer manual]] - various important information, be sure to read this before coding&lt;br /&gt;
* [[Debugging Inkscape|Debugging]] - random tips to help debug problems&lt;br /&gt;
* [[Project organization]] - procedures, hierarchy, developer roles and the likes&lt;br /&gt;
* [[Janitorial tasks]] - small tasks that need doing&lt;br /&gt;
* [[Doxygen documentation]]&lt;br /&gt;
* [[Working with SVN]] - besides the code in Bazaar, we still have some things in SVN.&lt;br /&gt;
&lt;br /&gt;
==== Developer tutorials ====&lt;br /&gt;
* [[Architectural overview]] - a high-level look at Inkscape&lt;br /&gt;
* [[Preferences subsystem]] - creating and using preference values&lt;br /&gt;
* XML subsystem (WIP) - how to manipulate the XML representation of a document&lt;br /&gt;
* Display subsystem (WIP) - how to make things appear on the canvas&lt;br /&gt;
* Tools subsystem (WIP) - how to create a new tool&lt;br /&gt;
* [[Creating a new SPObject]]&lt;br /&gt;
* Extensions&lt;br /&gt;
** [[Extension subsystem]] - an overview of the functionality provided by extensions and the possible implementations&lt;br /&gt;
** [[Script extensions]]&lt;br /&gt;
** [[Python modules for extensions]] - some helpful routines for use in Python script extensions&lt;br /&gt;
* [[Creating Live Path Effects]]&lt;br /&gt;
* [[Boost shared pointers]]&lt;br /&gt;
* [[Using libsigc++ signals]]&lt;br /&gt;
* [[Windows development on Linux]]&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
* [[INX extension descriptor format]]&lt;br /&gt;
* [[Inkscape-specific XML attributes]] - documentation of attributes from Inkscape's XML namespace&lt;br /&gt;
&lt;br /&gt;
* [[Extension repository]]: an Internet central for Inkscape Extensions&lt;br /&gt;
* [[Related programs]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== Continuous Integration (Automated testing) ====&lt;br /&gt;
* [http://jenkins.inkscape.org Our main testing website (Jenkins)]&lt;br /&gt;
* [[How to contribute to automated tests]]&lt;br /&gt;
* [[Jenkins server setup]]&lt;br /&gt;
&lt;br /&gt;
==== Development Discussion ====&lt;br /&gt;
* [[Roadmap]]: the main todo list&lt;br /&gt;
* [[Dependencies]] - what libs are needed to build Inkscape&lt;br /&gt;
* [[C++11]] - What C++11 features can be used&lt;br /&gt;
* [[NewFeatureProposals]]&lt;br /&gt;
* [[ExtensionArchitectureProposals]]&lt;br /&gt;
* [[Coding Style|Coding Style Discussion]]&lt;br /&gt;
* [[FileTypes]]&lt;br /&gt;
* [[ApplicationIcons]] (Application + Interface)&lt;br /&gt;
* [[Icons]]&lt;br /&gt;
* [[InkscapeColor]]&lt;br /&gt;
* [[PrintingSubsystem]]&lt;br /&gt;
* [[SVG Tiny Compliance]]&lt;br /&gt;
* [[SVG Test Suite Compliance]] - [[W3C]] full test suite&lt;br /&gt;
* [[CSS Support]]&lt;br /&gt;
* [[Google Summer Of Code]]&lt;br /&gt;
* [[Improved Media Management]]&lt;br /&gt;
* [[UI MockupScreenshots]]&lt;br /&gt;
* [[Swatch Book]]&lt;br /&gt;
* [[Tablet Dialog]]&lt;br /&gt;
* [[ViewBoxToDo]] View box support info&lt;br /&gt;
* [[Caching]]&lt;br /&gt;
* [[UI and Document coordinates‎]]&lt;br /&gt;
* [[Mipmapping]]&lt;br /&gt;
* [[GtkMMification]]: replace C boilerplate with gtkmm objects&lt;br /&gt;
&lt;br /&gt;
===Lib2Geom===&lt;br /&gt;
*[[lib2geom]]&lt;br /&gt;
*[[lib2geom Goals]]&lt;br /&gt;
*[[lib2geom FAQ]]&lt;br /&gt;
*[[lib2geom SVN Repository Guide]]&lt;br /&gt;
*[[WorkingWith2GeomFAQ]]: real-life questions answered about using 2Geom in real code&lt;br /&gt;
*[[lib2geom py2geom]]: python bindings to 2geom. With this you can use the power of 2geom in python scripts.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== User Interface Discussion ====&lt;br /&gt;
* [[Translation_information]]&lt;br /&gt;
* [[AddingInterfaceVerbs]]&lt;br /&gt;
* [[AccessibleGraphics]]&lt;br /&gt;
* [[ObjectManager]]&lt;br /&gt;
* [[DialogsReorganization]]&lt;br /&gt;
* [[ModalInterfaces]]&lt;br /&gt;
* [[TextUsability]]: text tool /dialog dialog&lt;br /&gt;
* [[KeyboardShortcutsToDo]]&lt;br /&gt;
** [[KeyboardProfiles]]: how you can help &lt;br /&gt;
* [[StatusbarAPI]]&lt;br /&gt;
* [[Animation-(Timeline)]]&lt;br /&gt;
* [[Free Desktop Graphic Suite]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [[WikiAttic]]: pages that are no longer relevant but kept for historical value&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:About Inkscape]]&lt;br /&gt;
[[Category:User Documentation]]&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape_on_Windows_32-bit&amp;diff=96044</id>
		<title>Compiling Inkscape on Windows 32-bit</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape_on_Windows_32-bit&amp;diff=96044"/>
		<updated>2015-03-06T17:29:36Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* See also */  Added Using Visual Studio link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''For 64 bit: see [[Compiling Inkscape on Windows 64-bit]]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Inkscape was originally written for Linux, but it has been ported to other platforms, including Windows. Since Windows is not POSIX compliant and doesn't have several features useful to developers (like package management), compiling Inkscape on Windows is more tedious than on Linux, but perfectly possible. To make it easier, we have compiled a package that contains all the libraries you need to build Inkscape. This reduces the effort of compiling Inkscape to: download and install 3 programs, download library package, download sourcecode, and you are ready to go.&lt;br /&gt;
&lt;br /&gt;
==Setting up the build environment==&lt;br /&gt;
&lt;br /&gt;
To develop Inkscape, you will need the following things:&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.bazaar.canonical.com/WindowsDownloads Bazaar]&lt;br /&gt;
* [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY] programs: puttygen.exe and pageant.exe&lt;br /&gt;
* TDM's GCC (MingW): Please use exactly the [http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/Previous/1.1006.0/tdm-gcc-4.6.1.exe/download  version 4.6.1 32bit bundle installer] and follow the instructions below. In the setup, '''Uncheck''' the [''Check for updated files on the TDM-GCC server''] when installing, or it will install a newer version. Newer versions (tdm-gcc-4.7+) introduce important changes in gcc and don't work with the current Inkscape devlibs (see [http://old.nabble.com/Compiling-on-Windows-7-x64-td34601489.html developpers' list discussion]).&lt;br /&gt;
* Launchpad account&lt;br /&gt;
&lt;br /&gt;
In order to build the installer (not needed for most developers):&lt;br /&gt;
* [http://sourceforge.net/projects/nsis/files/NSIS%202/2.46/nsis-2.46-setup.exe/download NSIS 2.46]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Install the compiler===&lt;br /&gt;
Run the TDM-MinGW installer:&lt;br /&gt;
# Install in a path that doesn't contain spaces. The path 'C:\mingw' is ideal beacuse it is currently set in the &amp;lt;tt&amp;gt;mingwenv.bat&amp;lt;/tt&amp;gt; file (along with the location of devlibs).&lt;br /&gt;
#* TDM-MinGW's default install option may be to a different location. You will have to edit the &amp;lt;tt&amp;gt;mingwenv.bat&amp;lt;/tt&amp;gt; file to point there.&lt;br /&gt;
#* If you install it into another path, set the environment variable MINGW_PATH to the TDM-MinGW installation directory, e.g. the one containing &amp;lt;tt&amp;gt;README-tdm-gcc.txt&amp;lt;/tt&amp;gt; (right click My Computer -&amp;gt; Properties -&amp;gt; Advanced -&amp;gt; Environment Variables).&lt;br /&gt;
# Be sure to enable the &amp;quot;GCC -&amp;gt; openmp support&amp;quot; checkbox from the components list&lt;br /&gt;
&lt;br /&gt;
===Create your Launchpad account===&lt;br /&gt;
You can skip this step (or do it later) if you just want to download the sources, but not submit your changes.&lt;br /&gt;
&lt;br /&gt;
If you do not have an SSH public/private key pair to identify yourself:&lt;br /&gt;
*run the program puttygen.exe to generate an SSH key&lt;br /&gt;
*save both its parts.&lt;br /&gt;
Log into your Launchpad account, go to your profile page and add the public part of the generated key to the list of SSH keys. Run the program pageant.exe (you can add it to Autorun). A tray icon should appear. Right click it, select &amp;quot;Add Key&amp;quot; and pick the private key file you have just generated from the dialog. Note that you need to repeat this after every login whenever you want to access Launchpad.&lt;br /&gt;
&lt;br /&gt;
Now set up Bazaar. First tell it who you are, then associate with your Launchpad account. You need to use the account name (e.g. johnq), not the display name.(John Q. Public).&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt; bzr whoami &amp;quot;''Your Name'' &amp;lt;''your_real_email@example.com''&amp;gt;&amp;quot;&lt;br /&gt;
 C:\&amp;gt; bzr launchpad-login ''your_launchpad_account''&lt;br /&gt;
&lt;br /&gt;
===Install the developer libraries===&lt;br /&gt;
Check out Inkscape Devlibs into C:\devlibs. If you check them out elsewhere, set the environment variable DEVLIBS_PATH to the path where they are. Devlibs are a bundle of all the libraries needed to compile Inkscape. If you experience any problems, make sure you have an up to date copy of those libraries and an up to date checkout of Inkscape source. To reduce the size of the download, pass the &amp;lt;tt&amp;gt;--lightweight&amp;lt;/tt&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt; bzr checkout --lightweight lp:inkscape-devlibs devlibs&lt;br /&gt;
&lt;br /&gt;
To update devlibs:&lt;br /&gt;
&lt;br /&gt;
 C:\devlibs&amp;gt; bzr update&lt;br /&gt;
&lt;br /&gt;
All Inkscape developers can commit to the devlibs trunk. Advanced information about Devlibs, mainy useful when you want to update them to newly released versions of upstream libraries, is available here: [[Inkscape Devlibs]].&lt;br /&gt;
You can see some infomation from [https://launchpad.net/inkscape-devlibs launchpad:inkscape-devlibs] and [http://bazaar.launchpad.net/~inkscape.dev/inkscape-devlibs/trunk/files trunk/files].&lt;br /&gt;
&lt;br /&gt;
== Obtaining Inkscape source code ==&lt;br /&gt;
&lt;br /&gt;
You can obtain released Inkscape source from a tarball. Since version 0.47 they are hosted on [https://launchpad.net/inkscape Inkscape's Launchpad page]. There are ready-made installers provided, so there's usually little reason to compile the stable version yourself.&lt;br /&gt;
&lt;br /&gt;
To obtain cutting edge code, check out Inkscape source from the Bazaar repository. You can also use the TortoiseBZR shell extensions to do this. The recommended way is to first create a shared repository, then check out the Inkscape branch into that shared repository. Using this setup, branching will be a lot faster.&lt;br /&gt;
&lt;br /&gt;
 C:\src\inkscape&amp;gt; bzr init-repo --rich-root .&lt;br /&gt;
 C:\src\inkscape&amp;gt; bzr upgrade&lt;br /&gt;
 C:\src\inkscape&amp;gt; bzr checkout lp:inkscape trunk&lt;br /&gt;
&lt;br /&gt;
If you don't want to create any branches, you can skip the shared repository step.&lt;br /&gt;
&lt;br /&gt;
 C:\src&amp;gt; bzr checkout lp:inkscape&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' make sure that the path to your Inkscape source checkout does not contain spaces. Unix tools do not like them and you will end up with a lot of error messages about missing files.&lt;br /&gt;
&lt;br /&gt;
== Set Environmental Variables ==&lt;br /&gt;
&lt;br /&gt;
First set up the environmental variables. You need to run mingwenv once per console session like this: &lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; mingwenv&lt;br /&gt;
Or you can set the paths in the Windows system settings. Go to (Win 7):&lt;br /&gt;
&lt;br /&gt;
Start-&amp;gt;Control Panel -&amp;gt;System and Security-&amp;gt;System-&amp;gt;Advanced system settings-&amp;gt;Advanced-&amp;gt;Environment variables-&amp;gt;System variables-&amp;gt;New.&lt;br /&gt;
Add these variable names and values:&amp;lt;br&amp;gt;&lt;br /&gt;
DEVLIBS_PATH c:\devlibs&amp;lt;br&amp;gt;&lt;br /&gt;
MINGW_PATH c:\mingw&amp;lt;br&amp;gt;&lt;br /&gt;
MINGW_BIN c:\mingw\bin&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH c:\devlibs \lib\pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
CMAKE_PREFIX_PATH c:\devlibs&amp;lt;br&amp;gt;&lt;br /&gt;
GTKMM_BASEPATH c:\devlibs&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, edit the PATH variable, and add these if not already present:&amp;lt;br&amp;gt;&lt;br /&gt;
c:\mingw\bin;c:\devlibs\python;c:\devlibs\bin&lt;br /&gt;
&lt;br /&gt;
After the Environment Variables are set in the Windows system settings, a restart is required.&lt;br /&gt;
&lt;br /&gt;
== Compile the Build Tool ==&lt;br /&gt;
&lt;br /&gt;
Now compile the build tool. (Try the following command one by one. if that command fails)&lt;br /&gt;
&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; g++ buildtool.cpp -o btool&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; g++ buildtool.cpp -o btool -fopenmp&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; g++ -DNEED_GETTIMEOFDAY buildtool.cpp -o btool -fopenmp&lt;br /&gt;
&lt;br /&gt;
== Building Inkscape ==&lt;br /&gt;
&lt;br /&gt;
Finally initiate the compilation. Get a coffee or take your dog out for a walk, because it will take a rather long time. If you have a multicore processor, add &amp;quot;-j 8&amp;quot; to use (for example) 8 parallel compilation threads.&lt;br /&gt;
&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; btool -j 8&lt;br /&gt;
&lt;br /&gt;
Once everything is done, there should be an &amp;lt;tt&amp;gt;inkscape&amp;lt;/tt&amp;gt; directory that contains the Inkscape executable and libraries needed to run it.&lt;br /&gt;
&lt;br /&gt;
== Rebuilding ==&lt;br /&gt;
&lt;br /&gt;
If you have only changed a few files and want to rebuild, delete the &amp;lt;tt&amp;gt;inkscape&amp;lt;/tt&amp;gt; directory and run &amp;lt;tt&amp;gt;btool&amp;lt;/tt&amp;gt; again.&lt;br /&gt;
&lt;br /&gt;
To rebuild from scratch, execute the following sequence of commands:&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; btool clean&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; btool&lt;br /&gt;
&lt;br /&gt;
== Dealing With Build Errors ==&lt;br /&gt;
Feel free to add any questions or answers you have in here;&lt;br /&gt;
&lt;br /&gt;
'''Q''' - My firewall software (Comodo's Defense+ component or similar) stopped the process continuing to the next step in the build, because I wasn't there to permit an action and it timed out. What can I do?&lt;br /&gt;
&lt;br /&gt;
'''A1''' - The best thing is to disable stuff like Defense+ (put it in learning mode works) because it will stop any process that is not approved, and building makes new files which can't be approved before they're built. Disabling Comodo's Defense+ does not disable your firewall, either inbound or outbound, but just the part that scans every application for suspicious operations. Other firewalls etc may vary.&lt;br /&gt;
&lt;br /&gt;
'''A2''' - If that doesn't suit, often you can simply run btool again and wait for Defense+ (or similar) to ask for approval for the process, and it will then continue as normal with the build. But remember that approving all the processes involved in the build process once doesn't mean they will all slip through next time.&lt;br /&gt;
&lt;br /&gt;
'''A3''' - This is the more complex way to continue, but may help if you have problems with A2. If you know the stage the process was meant to be up to (look at the output in the command windows and compare to the stages in the ''build.xml'' file), you can start again from there.&lt;br /&gt;
&lt;br /&gt;
You may see something like this in the command window;&lt;br /&gt;
     =============================&lt;br /&gt;
     ## Target : link : link objects and library to create executable&lt;br /&gt;
     ---- task : rc&lt;br /&gt;
     ============ cmd ============&lt;br /&gt;
     windres -o build/inkres.o --include-dir=src src/inkscape.rc&lt;br /&gt;
     =============================&lt;br /&gt;
     ---- task : link&lt;br /&gt;
This will likely be followed by an error message. This means you were at the ''link'' stage&lt;br /&gt;
&lt;br /&gt;
Now simply type;&lt;br /&gt;
     ...&amp;gt;btool ''stage''&lt;br /&gt;
Or in this case&lt;br /&gt;
     ...&amp;gt;btool link&lt;br /&gt;
And the build will continue from there.&lt;br /&gt;
&lt;br /&gt;
After this, you will probably have to step through the remaining stages manually, one by one. The stages can include (see build.xml, where each stage is labelled 'target name=&amp;quot;''target''&amp;quot;') ''init'', ''touchabout'', ''compile'', ''java'', ''lib'', ''i18n'', ''link'', ''linkinkview'', ''dist'', ''dist-all'', ''clean''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q''' - How do I rebuild just one ''file.o'' file? For instance if one particular file has gone wrong, or I want to try patching just one part of the code.&lt;br /&gt;
&lt;br /&gt;
'''A''' - To find the right command for building any particular file in Inkscape, just look in the compile.lst after you have used btool once. Search for the name of the particular file (eg: print.cpp) and you will find the command used to compile it. You'll need to paste this into a text file, remove any carriage reurns and then paste that onto the command line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q''' - After I patched a file, I left a backup of the old file in the same directory called Copy of{filename}.cpp. The compiler complains about this file when building and stops.&lt;br /&gt;
&lt;br /&gt;
'''A''' - Do not leave anything with a suffix .cpp in the source directories, apart from the original (or patched) source files. The build tool will try to compile everything ending in .cpp and will complain. If you backup an old file in the same directory before patching, call it {filename}.cpp.old or similar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q''' - I think I followed the instruction above. What could have caused the compiling error like this for src/extension/internal/pdfinput/pdf-parser.cpp?&lt;br /&gt;
&lt;br /&gt;
     src/extension/internal/pdfinput/pdf-parser.cpp:2248: error: no matching function for call to 'GfxFont::getNextChar(char*&amp;amp;, int&amp;amp;, CharCode*, Unicode [8], int, int*, double*, double*, double*, double*)'&lt;br /&gt;
&lt;br /&gt;
Same error for line 2297 as well.&lt;br /&gt;
&lt;br /&gt;
=== For more information ===&lt;br /&gt;
There is some old information on building Inkscape with either Mingw on Windows, or a cross-compiler on Linux, at http://inkscape.modevia.com/win32_inkscape_org/win32buildnotes.html&lt;br /&gt;
and old files mey be&lt;br /&gt;
http://inkscape.modevia.com/win32libs/&lt;br /&gt;
== Creating an installer ==&lt;br /&gt;
&lt;br /&gt;
To create the '''inkscape-$RELEASE-win32.exe''' setup package you need the '''NSIS''' installer on your PC. Get that from http://nsis.sf.net .&lt;br /&gt;
You have successfully built Inkscape and everything is in the ...\inkscape\ directory.&lt;br /&gt;
Open the ...\packaging\win32\inkscape.nsi using the NSIS program and compile the package. Sooo easy :-)&lt;br /&gt;
&lt;br /&gt;
The new wix installer in the packaging\wix directory creates msi packages. You need the '''windows installer XML''' package; get it from here http://wixtoolset.org/. Follow the instructions in the README file in the packaging\wix directory. The installer scripts parse version information from the inkscape.rc file. The generated packed is named as:&lt;br /&gt;
&lt;br /&gt;
   '''inkscape-$RELEASE.msi'''&lt;br /&gt;
&lt;br /&gt;
== Note about Unicode ==&lt;br /&gt;
&lt;br /&gt;
The GTK stack depends on functions only present in NT-based Windows (2000 and later). Therefore, Inkscape code can assume that Unicode functions from the Windows API (like GetCommandLineW) are always present. Note however that you should use the GLib/GTK functions rather the Windows API whenever possible.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
*[[Compiling Inkscape]]&lt;br /&gt;
*[[Using Visual Studio]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extension_repository&amp;diff=96032</id>
		<title>Extension repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extension_repository&amp;diff=96032"/>
		<updated>2015-03-05T13:36:53Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Scale Generator */ Changed link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It would be very useful to have a central Internet repository for Inkscape extensions, in a similar manner to Firefox. This way, Inkscape could update installed extensions from the web site, with no need for the user to know if an extension was updated.&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
&lt;br /&gt;
===[[ExtrudeEffect]]===&lt;br /&gt;
Extrude polygons to &amp;quot;3d&amp;quot;, also make &amp;quot;string art&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===[http://wiki.colivre.net/Aurium/InkscapeCalendarShellScript InkscapeCalendarShellScript]===&lt;br /&gt;
Creating calendars sucks or is impractical if you do not have something that automates the process of putting the days organized in blocks of months for you. To format manually is easy, but this extension can help you on this, too. BASH script, works for Win32 with Cygwin.&lt;br /&gt;
&lt;br /&gt;
===[http://wiki.colivre.net/Aurium/InkscapeAreaCuter InkscapeAreaCutter]===&lt;br /&gt;
For web designers. Slice your site design into .png images. (pt_BR)&lt;br /&gt;
&lt;br /&gt;
===[http://www.julienvitard.eu/ EQTeXSVG]===&lt;br /&gt;
Convert an inline LATEX equation into SVG path using Python.&lt;br /&gt;
&lt;br /&gt;
===[http://www.kono.cis.iwate-u.ac.jp/~arakit/inkscape/inklatex.html InkLaTeX]===&lt;br /&gt;
Insert LaTeX text or equations into Inkscape.&lt;br /&gt;
&lt;br /&gt;
===[http://www.iki.fi/pav/software/textext/ TexText]===&lt;br /&gt;
Embed re-editable LaTeX objects into SVG drawings.&lt;br /&gt;
&lt;br /&gt;
===[http://math.univ-lille1.fr/~barraud/Inkscape/pathdeform/ PathDeform]===&lt;br /&gt;
Bend a path according to another one. &lt;br /&gt;
N.B. This extension was added to Inkscape 0.45 as &amp;quot;Pattern along Path&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===[http://www.inkbar.lineaire.net/ InkBar]===&lt;br /&gt;
Create EAN13 bar codes.&lt;br /&gt;
&lt;br /&gt;
===[http://technoargia.free.fr/swftools/ SWF output]===&lt;br /&gt;
Save drawings as SWF. Updated version (compatible with Inkscape 0.48) ist available on [https://gist.github.com/frederik-elwert/1a46f82fce5d3deb7842 GitHub].&lt;br /&gt;
&lt;br /&gt;
===[http://wiki.colivre.net/Aurium/Puff Puff]===&lt;br /&gt;
Fluffs elements! :D&lt;br /&gt;
&lt;br /&gt;
===[http://www.colivre.coop.br/Aurium/InkSudoku Sudoku Generator]===&lt;br /&gt;
Generates a Sudoku square with its solution (''in a small square if you want'').&lt;br /&gt;
&lt;br /&gt;
===[[CalligraphedOutlineFill]]===&lt;br /&gt;
Helps to fill in the inside area of shapes drawn with the Calligraphy tool.&lt;br /&gt;
&lt;br /&gt;
===[http://edlab.die.unipd.it/Site4.html SlotStar]===&lt;br /&gt;
Helps to draw the star of slot of a winding of an electrical machine&lt;br /&gt;
&lt;br /&gt;
===[http://richard.henwood.googlepages.com/inkscapelatexextension inkscapeLatexExtension]===&lt;br /&gt;
Extract text in an SVG drawing to a LaTeX picture environment.&lt;br /&gt;
&lt;br /&gt;
===[http://saws.googlecode.com s.a.w.s]===&lt;br /&gt;
Export an SVG as valid XHTML/CSS files.&lt;br /&gt;
&lt;br /&gt;
===[http://www.colivre.coop.br/Aurium/InkscapeGenerator Generator]===&lt;br /&gt;
Replace text and data to automatically generate files (as PDF, PS, JPG, etc...), based on an SVG template and a data file. ''e.g.'', a CSV file&lt;br /&gt;
&lt;br /&gt;
===[http://code.google.com/p/inkscape2tikz/ TikZ exporter]===&lt;br /&gt;
Export SVG paths as TikZ/PGF code for use with LaTeX.  &lt;br /&gt;
&lt;br /&gt;
===[[FindMatch]]===&lt;br /&gt;
Looks for paths that match the selected path and places all matches on the same layer.&lt;br /&gt;
&lt;br /&gt;
===[http://emilien.tlapale.com/code/inksyntax InkSyntax]===&lt;br /&gt;
A source code syntax highlighter plugin for Inkscape (wrapping [http://pygments.org pygments] and [http://www.andre-simon.de/doku/highlight/en/highlight.html highlight]).&lt;br /&gt;
&lt;br /&gt;
===[http://sites.google.com/site/placeonpath/ Place Objects on Path]===&lt;br /&gt;
Places objects on a curve. The curve is the object that has the lowest z-order (and which must be a path). Distances between objects remain the same as they were before placing. If objects can't be placed on the curve because of their distances they are left in place. Objects will not be modified; clones are allowed. Arrange distances between your objects manually first as curve position and direction.&lt;br /&gt;
&lt;br /&gt;
===[http://code.google.com/p/jessyink/ JessyInk]===&lt;br /&gt;
A collection of Javascripts that can be embedded into an SVG file to produce slide shows on opening in a browser. Current releases of JessyInk include a number of inkscape extensions to assign effects, transitions and other aspects of the presentations.&lt;br /&gt;
&lt;br /&gt;
===[http://svg2dxf.googlecode.com/files/svg2dxf_inkscape.zip svg2dxf]===&lt;br /&gt;
Updated version of [http://www.bobcookdev.com/inkscape/inkscape-dxf.html Better Better DXF output] which adds support for polylines and does not overwrite the default inkscape simpletransform.py. See README if getting lxml xpath errors.&lt;br /&gt;
&lt;br /&gt;
===[http://code.google.com/p/pixelsnap/ PixelSnap]===&lt;br /&gt;
Tool for aligning object/paths onto the pixel grid for bitmap export.&lt;br /&gt;
&lt;br /&gt;
===[http://code.google.com/p/inkscape-guides-creator/ Guide creator]===&lt;br /&gt;
Creates multiple guides at once, at set intervals. &lt;br /&gt;
&lt;br /&gt;
===[https://github.com/brathering82/inkscape/tree/master/src Scale Generator]===&lt;br /&gt;
Create a scale for a ruler, map, gauge, clock, compass, etc.&lt;br /&gt;
&lt;br /&gt;
===[http://code.google.com/p/scott-inkscape/wiki/SevenSegmentDigits Seven Segment Digits]===&lt;br /&gt;
Create calculator style digits.&lt;br /&gt;
&lt;br /&gt;
===[http://www.cnc-club.ru/forum/viewtopic.php?f=15&amp;amp;t=37&amp;amp;p=92 Close curves]===&lt;br /&gt;
Closes all open paths in the selection.&lt;br /&gt;
&lt;br /&gt;
===[http://www.cnc-club.ru/forum/viewtopic.php?f=15&amp;amp;p=101 Gcode tools]===&lt;br /&gt;
Generates Gcode program (used in CNC machinery) from given paths.&lt;br /&gt;
&lt;br /&gt;
===[http://dp48069596.lolipop.jp/inkscape_script.html Closeoff, Scatterpath, Selection, Zigzag and Netting]===&lt;br /&gt;
See [http://dp48069596.lolipop.jp/inkscape_video.html] for how to use Zigzag and scater extensions.&lt;br /&gt;
&lt;br /&gt;
===[http://wiki.xmoto.tuxfamily.org/index.php?title=How_to_create_smooth_levels_using_Inkscape Inksmoto]===&lt;br /&gt;
Level editor for the Xmoto game.&lt;br /&gt;
&lt;br /&gt;
===[http://www.cnc-club.ru/forum/viewtopic.php?f=33&amp;amp;t=37 Close Curves]===&lt;br /&gt;
Extension to close the paths in the selection, useful for importing filled paths into openoffice.&lt;br /&gt;
&lt;br /&gt;
===[http://kalyaev.com/2010/20100423/gcodetools.html gcodetools]===&lt;br /&gt;
Gcodetools is a plug-in for Inkscape. It prepares and converts paths from Inkscape to Gcode, using biarc interpolation. for use with CNC milling machines.&lt;br /&gt;
&lt;br /&gt;
===[http://www.signcutpro.com/SignCut-Productivity-Pro/signcut-export-plugins.html SignCut Export]===&lt;br /&gt;
Set of extensions that come with SignCut to enable Inkscape users to use plotters / cutters via the SignCut software.&lt;br /&gt;
&lt;br /&gt;
===[http://www.lysator.liu.se/~perni/iboardgameexts/ Boardgame extensions]===&lt;br /&gt;
Inkscape Extensions for Boardgame Developlemt [http://www.boardgamegeek.com/thread/299033/inkscape-extensions-for-boardgame-developlemt 1]. Includes a hexagonal board/hexmap creator and tools to sheets of tiles for counters ect.&lt;br /&gt;
&lt;br /&gt;
===[http://camm-gl.dyndns.org/ Inkscape CAMM-GL Extension]===&lt;br /&gt;
... vinyl cutting utility for Inkscape&lt;br /&gt;
&lt;br /&gt;
This program is basically just a cut manager. Create artwork in Inkscape, save with the supplied hpgl_output extension, and cut or plot with this program. The program does provide some useful functions, but it is by no means a fully featured solution. I do use it exclusivly, and it currently satisfies my needs.&lt;br /&gt;
&lt;br /&gt;
===[http://salug.it/~fabioviola/inkscape/extensions Badge Renderer]===&lt;br /&gt;
... A little script to render a badge in a Inkscape document. &lt;br /&gt;
This is only a little python script used as example in an article for my GLUG (SaLUG!) journal. This can be used to quickly render a badge. It can be improved, for example, with shadow direction and reflex direction. As soon as possible I'll do it.&lt;br /&gt;
&lt;br /&gt;
===[http://www.craigmarshall.org/archives/8 Guillotine]===&lt;br /&gt;
This is a mirror of the GIMP guillotine function, it allows you to drag guides onto the canvas, and then using Export-&amp;gt;Guillotine, export those slices as pngs to the directory and filename of your choice. It also has an option for using export hints, if your drawing has previously been exported. [http://www.inkscapeforum.com/viewtopic.php?f=11&amp;amp;t=5832 Forum link]&lt;br /&gt;
&lt;br /&gt;
===[http://code.google.com/p/inkscape-replace-font/ Replace Font]===&lt;br /&gt;
Allows mass replacement of the fonts in a document. Can list existing fonts. [http://www.inkscapeforum.com/viewtopic.php?f=11&amp;amp;t=5843 Forum link]&lt;br /&gt;
&lt;br /&gt;
=== [http://sozi.baierouge.fr/wiki/doku.php?id=en:welcome Sozi] ===&lt;br /&gt;
A tool for presentations made using zooms and rotations, not just slides. Uses Javascript added to the .svg file to display in web-browsers.&lt;br /&gt;
&lt;br /&gt;
Version 13.11 is the last version of sozi which is available as an Inkscape extension. According to [http://sozi.baierouge.fr/release-14.10.html this article], future versions will be available as standalone-application.&lt;br /&gt;
&lt;br /&gt;
===[http://www.inkscapeforum.com/viewtopic.php?f=11&amp;amp;t=5943 CMYK pdf/tiff export]===&lt;br /&gt;
Extension to export to CYMK colourspaced PDFs / Tiffs. In development (september 2010)&lt;br /&gt;
&lt;br /&gt;
===[http://sourceforge.net/projects/o-scape/ O-Scape; Orienteering map making tools]===&lt;br /&gt;
Extensions to help make Orienteering maps; see this [http://www.nopesport.com/news/1343-o-scape-free-orienteering-mapping-software interview] for more information&lt;br /&gt;
&lt;br /&gt;
===[http://www.inkscapeforum.com/viewtopic.php?f=5&amp;amp;t=4729#p32019 Mirror]=== &lt;br /&gt;
Mirror a path along any axis.&lt;br /&gt;
&lt;br /&gt;
===[http://sourceforge.net/projects/inkscape-tables/ Tables in Inkscape]===&lt;br /&gt;
Adds (experimental?) table suport as an extension.&lt;br /&gt;
&lt;br /&gt;
===[http://doctormo.org/2011/05/19/deviantart-plugins-released/ deviantArt uploaders]===&lt;br /&gt;
Upload artwork to deviantArt from the &amp;quot;publish to&amp;quot; menue item under extensions.&lt;br /&gt;
&lt;br /&gt;
===[http://code.google.com/p/inkscape-music-scale-generator/ Musical scales]===&lt;br /&gt;
Extension for automatic generation schemes of musical scale and chords on piano.&lt;br /&gt;
&lt;br /&gt;
===[http://www.inkscapeforum.com/viewtopic.php?f=11&amp;amp;t=9212 Text from CSV]===&lt;br /&gt;
Extension to enter text from a CSV file&lt;br /&gt;
&lt;br /&gt;
===[http://luther.ceplovi.cz/git/inkscape-ungroup-deep.git/ Deep Ungroup]===&lt;br /&gt;
Ungroup all groups in the selected object.&lt;br /&gt;
&lt;br /&gt;
===[http://www.pernsteiner.org/inkscape/layerclip/ Layer Clip]===&lt;br /&gt;
This is a a set of Inkscape extension scripts for setting and removing clip paths for entire layers. Inkscape has no trouble rendering or editing layers with clip paths, but it currently has no built-in method of setting the clip path for a layer, this is the purpose of these extensions.&lt;br /&gt;
&lt;br /&gt;
Features include: Clip containing layer, Clip layer above, Clip layer below, Clip parent layer.&lt;br /&gt;
&lt;br /&gt;
'''''Notes:'''&lt;br /&gt;
''You must select an object in the clipping layer before applying the extension, otherwise you will receive an error message.&lt;br /&gt;
It is a good idea to lock the layer after the extension has been applied. You may also require hiding the clipping layer when using &amp;quot;Clip layer below&amp;quot;. This may be exploited to create a masking layer.&lt;br /&gt;
Tested on Inkscape 0.48.2 r98''19''&lt;br /&gt;
&lt;br /&gt;
===[https://bitbucket.org/daviddamerell/inkscapesaveasicoextension Icon Generation]===&lt;br /&gt;
This is an Inkscape output extension that adds an option to the &amp;quot;save-as&amp;quot; dialog box to generate Windows Icon files (*.ico).&lt;br /&gt;
&lt;br /&gt;
==Extensions for Programmers:==&lt;br /&gt;
===[http://wiki.colivre.net/Aurium/RubyInk RubyInk]===&lt;br /&gt;
Inkscape extension with Ruby&lt;br /&gt;
&lt;br /&gt;
===[http://wiki.colivre.net/Aurium/InkBash Ink-Bash]===&lt;br /&gt;
&amp;lt;nowiki&amp;gt;ShellScript&amp;lt;/nowiki&amp;gt; Forever!&lt;br /&gt;
&lt;br /&gt;
===[http://wiki.colivre.net/Aurium/InkMoz InkMoz]===&lt;br /&gt;
The Bridge from Inkscape to Mozilla (Inkscape extension with Javascript and more)&lt;br /&gt;
&lt;br /&gt;
== The Repository Specification ==&lt;br /&gt;
&lt;br /&gt;
A website where programmers can publish their extensions, users can search by that, and an update program can access this updates.&lt;br /&gt;
&lt;br /&gt;
=== The Website ===&lt;br /&gt;
&lt;br /&gt;
Must Have:&lt;br /&gt;
* '''User Registration''': to allow upload, votes and comments&lt;br /&gt;
* '''Extension Validation''': when published, it is public, but the user must be notified that was not validated (the code must be viewed by an validator user). The software updater do not update non-validated versions.&lt;br /&gt;
** '''Validation Feedback''': the validator user must write why the extension was not validated.&lt;br /&gt;
** '''Extension Deletion''': the validator user can delete an extension or version when he found a malicious code. The upload user must be marked as a malicious user and the account must be blocked.&lt;br /&gt;
* '''Extension Search''': with filter, by any available data.&lt;br /&gt;
* '''User Votes and Comments for Extensions''': The user can vote and/or comment an extension version.&lt;br /&gt;
* '''Extension Bug-Tracker''': today, third part extensions are in simple web-pages. The site may have a Bug-Traker to help all little scripts.&lt;br /&gt;
* '''User Extensions Requests''': a lot of users have ideas. Here is a good place for programmers see and make that alive.&lt;br /&gt;
* '''Host a cool page for the extension''': allow introduction text, documenbtation, screenshots, examples, and '''i18n'''!&lt;br /&gt;
* '''Help the l10n of this extensions''': with a web interface, like pootle and provide the l10n file for the updater program.&lt;br /&gt;
* '''Provide Version Control''': A SVN account will be cool, but web uploads (by web-forms) can be transparently SVN commits.&lt;br /&gt;
&lt;br /&gt;
=== The Extension Meta-Data ===&lt;br /&gt;
&lt;br /&gt;
''The data in INX file and more some, like the OS and Inkscape version compatibility...''&lt;br /&gt;
&lt;br /&gt;
The INX file will define the meta-data settable by that. If some extension uses multiples INX files to have more than one option in the menu, all INX files must be read to set the meta-data. The meta-data will be cached in a database to help the search. The DB only need the meta-data of the last validated version and the last non-validated (if that is newer).&lt;br /&gt;
&lt;br /&gt;
=== The Update Program ===&lt;br /&gt;
&lt;br /&gt;
* '''Search for New Extensions''': when the user request&lt;br /&gt;
* '''Update Extensions''': search for updates and install that&lt;br /&gt;
* '''Help the Code Validation''': for advanced users. Show the extension code and the diff if is that an update.&lt;br /&gt;
* '''Help the User Bug-Reporting''': that is not working! The user must say now! ''(When the Update Program be part of the Inkscape, the error window can have a button to submit a bug-report)''&lt;br /&gt;
* '''Must test the extension dependencies''': the user must know what is needed to install before try to use.&lt;br /&gt;
&lt;br /&gt;
== Name Proposal ==&lt;br /&gt;
&lt;br /&gt;
Propose a name for the Inkscape Extension Repository:&lt;br /&gt;
&lt;br /&gt;
* '''The Factory'''&lt;br /&gt;
* '''Extension Factory'''&lt;br /&gt;
* '''INX Factory'''&lt;br /&gt;
&lt;br /&gt;
''Why Factory? Because it is not only a repository. ;-)''&lt;br /&gt;
&lt;br /&gt;
* '''The Furnace'''&lt;br /&gt;
''Because Fire &amp;amp; Coal (Passion &amp;amp; Knowledge) are your tools for creating the extensions''&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;br /&gt;
&lt;br /&gt;
== Mockups ==&lt;br /&gt;
&lt;br /&gt;
Here are some suggestions for what an extension repository might look like.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Extension_repository_-_homepage.png|The home page.&lt;br /&gt;
File:Extension_repository_-_extension_page.png|The page for an individual extension.&lt;br /&gt;
File:Extension_repository_-_request_page.png|The page for an individual request.&lt;br /&gt;
File:Extension_repository_-_search_page.png|The search form page.&lt;br /&gt;
File:Extension_repository_-_search_results.png|The search results page.&lt;br /&gt;
File:Extension_repository_-_submit_extension.png|The extension submission page.&lt;br /&gt;
File:Extension_repository_-_submit_request.png|The request submission page.&lt;br /&gt;
File:Extension_repository_-_requests.png|The main requests page.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I have no idea of the detail of this project; I don't currently have the skills necessary to try implementing it. I'm also not sure whether it's a good idea for Inkscape to offer hosted repositories (using [http://www.redmine.org/projects/redmine Redmine] or [http://trac.edgewall.org/ Trac]?) or whether it would be better to just leave it to the developer to use somewhere like [http://github.com/ GitHub] or [http://bitbucket.org/ BitBucket] and then use their APIs to pull some basic data onto the site. [[User:Legio noctis|Legio noctis]] 10:19, 23 May 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96026</id>
		<title>Using Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96026"/>
		<updated>2015-03-05T12:30:15Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: Added WinGDB section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
Microsoft Visual Studio is a popular development tool used primarily with C, C++, and C#. Visual Studio (community edition) can be downloaded for free but it requires a plugin called VisualGDB or WinGDB. These plugins are not free, but fully functional evaluation versions are available. This wiki focuses on the VisualGDB plugin, but WinGDB settings are also provided.&lt;br /&gt;
&lt;br /&gt;
This page will help you set up Visual Studio for coding, building, and stepping through code in Inkcape.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
# Follow all steps of guide [[Compiling Inkscape on Windows]]. &lt;br /&gt;
# Make sure Inkcape compiles correctly using the console first.&lt;br /&gt;
# Install Visual Studio.&lt;br /&gt;
# Install VisualGDB.&lt;br /&gt;
# Set the Environment variables in the Windows System settings as described here: [[Compiling Inkscape on Windows]]. Do not use mingwenv.bat to set the environment variables.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' It is assumed the required packages are installed in the following directories:&lt;br /&gt;
* c:\mingw&lt;br /&gt;
* c:\devlibs&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
= Create project in Visual Studio =&lt;br /&gt;
&lt;br /&gt;
# Open Visual Studio.&lt;br /&gt;
# Select File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;VisualGDB-&amp;gt;MinGW/Cygwin Project Wizard.&lt;br /&gt;
# For the project location, do not use a path with spaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:new-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Give the project a name, and click OK.&lt;br /&gt;
# At the wizard, select Project Type-&amp;gt;Import a project build with command-line tools.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Check the path to MinGW is correct.&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Set the Inkscape source directory to:&lt;br /&gt;
#* c:\src\inkscape\trunk&lt;br /&gt;
# Select Import preserving directory structure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# At Build Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot;&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Clean Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; clean&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Debug Settings-&amp;gt;Executable file to debug, browse to: &lt;br /&gt;
#* C:\src\inkscape\trunk\inkscape\inkscape.exe&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:build-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#Click Finish and wait for the project generation to finish.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VisualGDB will not copy the source files to the Visual Studio project directory, so you can still use Version Control the usual way.&lt;br /&gt;
&lt;br /&gt;
= Enable debugging =&lt;br /&gt;
&lt;br /&gt;
In Explorer, open build.xml located in:&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
Then look for the &amp;quot;T A R G E T : C O M P I L E&amp;quot; section, go to the &amp;lt;flags&amp;gt; section, and change&amp;lt;br /&amp;gt;&lt;br /&gt;
  -O2&lt;br /&gt;
to&lt;br /&gt;
  -O0&lt;br /&gt;
&lt;br /&gt;
Also add this flag:&amp;lt;br /&amp;gt;&lt;br /&gt;
  -g&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:flags.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then search for this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;true&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
And change to this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;false&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:strip.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' these changes will make Inkscape very slow to compile.&lt;br /&gt;
&lt;br /&gt;
= Building Inkscape =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, select Build-&amp;gt;Clean Solution.&lt;br /&gt;
# Then select Build-&amp;gt;Build Solution.&lt;br /&gt;
# Come back later. This will take a while.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The compiler will seem to be stuck at this for a while, but that is normal:&lt;br /&gt;
  1&amp;gt;  --- compile / cc&lt;br /&gt;
&lt;br /&gt;
= Stepping through code =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, go to Solution Explorer-&amp;gt;Inkscape-&amp;gt;Source Files-&amp;gt;src-&amp;gt;main.cpp, and set a breakpoint here:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:breakpoint.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Select Debug-&amp;gt;Start Debugging With GDB.&lt;br /&gt;
# If you get a &amp;quot;GDB command timeout&amp;quot; window, be patient.&lt;br /&gt;
# Inkscape will stop at the breakpoint. Happy debugging.&lt;br /&gt;
&lt;br /&gt;
= Trouble shooting =&lt;br /&gt;
&lt;br /&gt;
In case Visual Studio cannot break at a certain breakpoint (most likely no debugging symbols present), you can diagnose breakpoint problems using the VisualGDB diagnose tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:diagnose-breakpoint.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= WinGDB settings =&lt;br /&gt;
&lt;br /&gt;
Wizard settings:&lt;br /&gt;
&lt;br /&gt;
* File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;WinGDB-&amp;gt;WinGDB Standard Projects-&amp;gt;Multiplatform Executable-&amp;gt;OK&lt;br /&gt;
* MinGW installation directory: C:\MinGW&lt;br /&gt;
* Make executable location: C:\src\inkscape\trunk\btool.exe&lt;br /&gt;
* Source dir: C:\src\inkscape\trunk\src&lt;br /&gt;
* Group imported files in folders = true&lt;br /&gt;
* Build result directory: C:\src\inkscape\trunk\inkscape&lt;br /&gt;
* Build debuggable result: inkscape.exe&lt;br /&gt;
* Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Working directory: C:\src\inkscape\trunk&lt;br /&gt;
* Additional source directories: C:\devlibs&lt;br /&gt;
&lt;br /&gt;
Project settings:&lt;br /&gt;
&lt;br /&gt;
* Right click project-&amp;gt;WinGDB-&amp;gt;Properties-&amp;gt;:&lt;br /&gt;
* Environment-&amp;gt;Debugger path: C:\mingw\bin\gdb.exe&lt;br /&gt;
* Environment-&amp;gt;Build toolchain paths: C:\MinGW\bin;C:\src\inkscape\trunk&lt;br /&gt;
* Debug-&amp;gt;Executable path: C:\src\inkscape\trunk\inkscape\inkscape.exe&lt;br /&gt;
* Directories-&amp;gt;Additional source directories: C:\devlibs&lt;br /&gt;
* Project build-&amp;gt;Project build command: btool -j 8 (-j 8 is to compile with 8 threads)&lt;br /&gt;
* Project build-&amp;gt;Project rebuild command: btool clean; btool -j 8 &lt;br /&gt;
* Project build-&amp;gt;Project clean command: btool clean&lt;br /&gt;
* Project build-&amp;gt;Build working directory: C:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
Building:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Build-&amp;gt;Build projectname&lt;br /&gt;
&lt;br /&gt;
Debugging:&amp;lt;br&amp;gt;&lt;br /&gt;
*WinGDB-&amp;gt;Start debugging&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96020</id>
		<title>Using Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96020"/>
		<updated>2015-03-05T11:55:45Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Stepping through code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Microsoft Visual Studio is a popular development tool used primarily with C, C++, and C#. Visual Studio (community edition) can be downloaded for free but it requires a plugin called VisualGDB. This plugin is not free, but a fully functional evaluation version is available.&lt;br /&gt;
&lt;br /&gt;
This page will help you set up Visual Studio for coding, building, and stepping through code in Inkcape.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
# Follow all steps of guide [[Compiling Inkscape on Windows]]. &lt;br /&gt;
# Make sure Inkcape compiles correctly using the console first.&lt;br /&gt;
# Install Visual Studio.&lt;br /&gt;
# Install VisualGDB.&lt;br /&gt;
# Set the Environment variables in the Windows System settings as described here: [[Compiling Inkscape on Windows]]. Do not use mingwenv.bat to set the environment variables.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' It is assumed the required packages are installed in the following directories:&lt;br /&gt;
* c:\mingw&lt;br /&gt;
* c:\devlibs&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
= Create project in Visual Studio =&lt;br /&gt;
&lt;br /&gt;
# Open Visual Studio.&lt;br /&gt;
# Select File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;VisualGDB-&amp;gt;MinGW/Cygwin Project Wizard.&lt;br /&gt;
# For the project location, do not use a path with spaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:new-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Give the project a name, and click OK.&lt;br /&gt;
# At the wizard, select Project Type-&amp;gt;Import a project build with command-line tools.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Check the path to MinGW is correct.&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Set the Inkscape source directory to:&lt;br /&gt;
#* c:\src\inkscape\trunk&lt;br /&gt;
# Select Import preserving directory structure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# At Build Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot;&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Clean Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; clean&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Debug Settings-&amp;gt;Executable file to debug, browse to: &lt;br /&gt;
#* C:\src\inkscape\trunk\inkscape\inkscape.exe&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:build-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#Click Finish and wait for the project generation to finish.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VisualGDB will not copy the source files to the Visual Studio project directory, so you can still use Version Control the usual way.&lt;br /&gt;
&lt;br /&gt;
= Enable debugging =&lt;br /&gt;
&lt;br /&gt;
In Explorer, open build.xml located in:&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
Then look for the &amp;quot;T A R G E T : C O M P I L E&amp;quot; section, go to the &amp;lt;flags&amp;gt; section, and change&amp;lt;br /&amp;gt;&lt;br /&gt;
  -O2&lt;br /&gt;
to&lt;br /&gt;
  -O0&lt;br /&gt;
&lt;br /&gt;
Also add this flag:&amp;lt;br /&amp;gt;&lt;br /&gt;
  -g&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:flags.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then search for this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;true&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
And change to this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;false&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:strip.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' these changes will make Inkscape very slow to compile.&lt;br /&gt;
&lt;br /&gt;
= Building Inkscape =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, select Build-&amp;gt;Clean Solution.&lt;br /&gt;
# Then select Build-&amp;gt;Build Solution.&lt;br /&gt;
# Come back later. This will take a while.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The compiler will seem to be stuck at this for a while, but that is normal:&lt;br /&gt;
  1&amp;gt;  --- compile / cc&lt;br /&gt;
&lt;br /&gt;
= Stepping through code =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, go to Solution Explorer-&amp;gt;Inkscape-&amp;gt;Source Files-&amp;gt;src-&amp;gt;main.cpp, and set a breakpoint here:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:breakpoint.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Select Debug-&amp;gt;Start Debugging With GDB.&lt;br /&gt;
# If you get a &amp;quot;GDB command timeout&amp;quot; window, be patient.&lt;br /&gt;
# Inkscape will stop at the breakpoint. Happy debugging.&lt;br /&gt;
&lt;br /&gt;
= Trouble shooting =&lt;br /&gt;
&lt;br /&gt;
In case Visual Studio cannot break at a certain breakpoint (most likely no debugging symbols present), you can diagnose breakpoint problems using the VisualGDB diagnose tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:diagnose-breakpoint.png]]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96014</id>
		<title>Using Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=96014"/>
		<updated>2015-03-05T11:49:18Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: Added Using Visual Studio page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Microsoft Visual Studio is a popular development tool used primarily with C, C++, and C#. Visual Studio (community edition) can be downloaded for free but it requires a plugin called VisualGDB. This plugin is not free, but a fully functional evaluation version is available.&lt;br /&gt;
&lt;br /&gt;
This page will help you set up Visual Studio for coding, building, and stepping through code in Inkcape.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
# Follow all steps of guide [[Compiling Inkscape on Windows]]. &lt;br /&gt;
# Make sure Inkcape compiles correctly using the console first.&lt;br /&gt;
# Install Visual Studio.&lt;br /&gt;
# Install VisualGDB.&lt;br /&gt;
# Set the Environment variables in the Windows System settings as described here: [[Compiling Inkscape on Windows]]. Do not use mingwenv.bat to set the environment variables.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' It is assumed the required packages are installed in the following directories:&lt;br /&gt;
* c:\mingw&lt;br /&gt;
* c:\devlibs&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
&lt;br /&gt;
= Create project in Visual Studio =&lt;br /&gt;
&lt;br /&gt;
# Open Visual Studio.&lt;br /&gt;
# Select File-&amp;gt;New-&amp;gt;Project-&amp;gt;Installed-&amp;gt;Templates-&amp;gt;VisualGDB-&amp;gt;MinGW/Cygwin Project Wizard.&lt;br /&gt;
# For the project location, do not use a path with spaces.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:new-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Give the project a name, and click OK.&lt;br /&gt;
# At the wizard, select Project Type-&amp;gt;Import a project build with command-line tools.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Check the path to MinGW is correct.&lt;br /&gt;
# Click Next. &lt;br /&gt;
# Set the Inkscape source directory to:&lt;br /&gt;
#* c:\src\inkscape\trunk&lt;br /&gt;
# Select Import preserving directory structure.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:import-project-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Click Next. &lt;br /&gt;
# At Build Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot;&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Clean Command, select Customize.&lt;br /&gt;
# Set Arguments to:&lt;br /&gt;
#* /c &amp;quot;c:\src\inkscape\trunk\btool.exe&amp;quot; clean&lt;br /&gt;
# Select OK.&lt;br /&gt;
# At Debug Settings-&amp;gt;Executable file to debug, browse to: &lt;br /&gt;
#* C:\src\inkscape\trunk\inkscape\inkscape.exe&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:build-settings.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#Click Finish and wait for the project generation to finish.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' VisualGDB will not copy the source files to the Visual Studio project directory, so you can still use Version Control the usual way.&lt;br /&gt;
&lt;br /&gt;
= Enable debugging =&lt;br /&gt;
&lt;br /&gt;
In Explorer, open build.xml located in:&lt;br /&gt;
* c:\src\inkscape\trunk&lt;br /&gt;
Then look for the &amp;quot;T A R G E T : C O M P I L E&amp;quot; section, go to the &amp;lt;flags&amp;gt; section, and change&amp;lt;br /&amp;gt;&lt;br /&gt;
  -O2&lt;br /&gt;
to&lt;br /&gt;
  -O0&lt;br /&gt;
&lt;br /&gt;
Also add this flag:&amp;lt;br /&amp;gt;&lt;br /&gt;
  -g&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:flags.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then search for this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;true&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
And change to this:&amp;lt;br /&amp;gt;&lt;br /&gt;
  strip=&amp;quot;false&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:strip.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note:''' these changes will make Inkscape very slow to compile.&lt;br /&gt;
&lt;br /&gt;
= Building Inkscape =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, select Build-&amp;gt;Clean Solution.&lt;br /&gt;
# Then select Build-&amp;gt;Build Solution.&lt;br /&gt;
# Come back later. This will take a while.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The compiler will seem to be stuck at this for a while, but that is normal:&lt;br /&gt;
  1&amp;gt;  --- compile / cc&lt;br /&gt;
&lt;br /&gt;
= Stepping through code =&lt;br /&gt;
&lt;br /&gt;
# In Visual Studio, go to Solution Explorer-&amp;gt;Inkscape-&amp;gt;Source Files-&amp;gt;src-&amp;gt;main.cpp, and set a breakpoint here:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:breakpoint.png]]&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Select Debug-&amp;gt;Start Debugging With GDB.&lt;br /&gt;
# If you get a &amp;quot;GDB command timeout&amp;quot; window, be patient.&lt;br /&gt;
# Inkscape will stop the breakpoint. Happy debugging.&lt;br /&gt;
&lt;br /&gt;
= Trouble shooting =&lt;br /&gt;
&lt;br /&gt;
In case Visual Studio cannot break at a certain breakpoint (most likely no debugging symbols present), you can diagnose breakpoint problems using the VisualGDB diagnose tool:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;[[Image:diagnose-breakpoint.png]]&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:Strip.png&amp;diff=96008</id>
		<title>File:Strip.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:Strip.png&amp;diff=96008"/>
		<updated>2015-03-05T11:14:03Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:Import-project.png&amp;diff=96002</id>
		<title>File:Import-project.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:Import-project.png&amp;diff=96002"/>
		<updated>2015-03-05T11:13:43Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:Import-project-settings.png&amp;diff=95996</id>
		<title>File:Import-project-settings.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:Import-project-settings.png&amp;diff=95996"/>
		<updated>2015-03-05T11:13:17Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:Flags.png&amp;diff=95990</id>
		<title>File:Flags.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:Flags.png&amp;diff=95990"/>
		<updated>2015-03-05T11:12:50Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:Diagnose-breakpoint.png&amp;diff=95984</id>
		<title>File:Diagnose-breakpoint.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:Diagnose-breakpoint.png&amp;diff=95984"/>
		<updated>2015-03-05T11:12:27Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:Build-settings.png&amp;diff=95978</id>
		<title>File:Build-settings.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:Build-settings.png&amp;diff=95978"/>
		<updated>2015-03-05T11:12:05Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:Breakpoint.png&amp;diff=95972</id>
		<title>File:Breakpoint.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:Breakpoint.png&amp;diff=95972"/>
		<updated>2015-03-05T11:11:41Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=File:New-project.png&amp;diff=95966</id>
		<title>File:New-project.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=File:New-project.png&amp;diff=95966"/>
		<updated>2015-03-05T11:10:50Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Eclipse&amp;diff=95960</id>
		<title>Using Eclipse</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Eclipse&amp;diff=95960"/>
		<updated>2015-03-05T10:31:54Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: Added reference to Using Visual Studio&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Needs_update}}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The instructions in this wiki are out of date and do not work anymore. This page is just a reference as it might provide you with a clue on how to get it to work. If you manage to get compiling and debugging to work under Windows using Eclipse, please modify this page accordingly. &lt;br /&gt;
&lt;br /&gt;
If you are looking for another way of stepping through code on Windows, have a look here: [[Using Visual Studio]].&lt;br /&gt;
&lt;br /&gt;
Eclipse is a popular development tool used primarily with Java; however, C/C++ development can also be done.  This page will help you set up Eclipse for coding, building, and debugging Inkscape.&lt;br /&gt;
&lt;br /&gt;
= Eclipse on Fedora =&lt;br /&gt;
&lt;br /&gt;
# Follow the ''Installation'' and ''Configuration'' steps of guide [http://wiki.bazaar.canaonical.com/BzrEclipse BzrEclipse] but be carefull:&lt;br /&gt;
#* At this moment, this How to is for a previous version of Eclipse (some dialogs and menus have changed)&lt;br /&gt;
#* ''bzr-xmloutput'' must be decompress in a folder named exactly ''xmloutput'' in Bazaar plugins directory&lt;br /&gt;
&lt;br /&gt;
= Setup project in Eclipse =&lt;br /&gt;
&lt;br /&gt;
Following steps are equivalent to:&lt;br /&gt;
&lt;br /&gt;
 checkout lp:inkscape /home/{USER_NAME}/workspace/Inkscape&lt;br /&gt;
&lt;br /&gt;
In Eclipse:&lt;br /&gt;
&lt;br /&gt;
# File &amp;gt; New &amp;gt; Project...&lt;br /&gt;
# Select Bazaar &amp;gt; Checkout as a new project&lt;br /&gt;
# Select ''Initialize a new branch location''&lt;br /&gt;
# Set ''Branch location'' to ''lp:inkscape''&lt;br /&gt;
# Select ''Create a project''&lt;br /&gt;
# Set ''Project name'' to ''Inkscape''&lt;br /&gt;
&lt;br /&gt;
After quite a long time working, the Inkscape project appears in the Eclipse Explorer.&lt;br /&gt;
&lt;br /&gt;
= Eclipse on Windows =&lt;br /&gt;
&lt;br /&gt;
Running Eclipse provides a relatively easy and familiar way to work with Inkscape code on Windows.  This section will explain how to make it happen.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Some of these instructions may be applicable to development on Mac or Linux.  Feel free to refactor them if you are adding information for those platforms.&lt;br /&gt;
&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
&lt;br /&gt;
First, make sure Inkscape compiles under windows using the command line to verify the source and dependencies are installed correctly. Follow the instructions on the [[Win32Port]] page under the heading '''Inkscape under Windows'''.&lt;br /&gt;
&lt;br /&gt;
If you don't have Eclipse, [http://www.eclipse.org/downloads/ get it].  Check out the [http://help.eclipse.org/help32/index.jsp online help] if needed.&lt;br /&gt;
&lt;br /&gt;
Next, you need to set up the necessary add-ons.  Most important is the [http://www.eclipse.org/cdt/downloads.php CDT plug-in] which facilitates C/C++ development.  You may also wish to add [http://subclipse.tigris.org/install.html Subclipse] for SVN access within Eclipse.  Alternatively, many Windows users prefer to use [http://tortoisesvn.net/downloads TortoiseSVN], which works with Windows Explorer.&lt;br /&gt;
&lt;br /&gt;
== Creating a Project ==&lt;br /&gt;
&lt;br /&gt;
=== Subclipse (Outdated as version control is provided by Bazaar now) ===&lt;br /&gt;
&lt;br /&gt;
The next step is to get the source code ready for use in Eclipse.  Check [[WorkingWithSVN | here]] for general instructions for working with SVN; in this section, the aim is to show how to check out the code using Subclipse.&lt;br /&gt;
&lt;br /&gt;
In Eclipse, we want the SVN perspective to be open.  Click '''Window &amp;gt; Open Perspective &amp;gt; Other'''.  Choose '''SVN Repository Exploring''' and click ok.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-01.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''SVN Repository''' tab, right click and choose '''New &amp;gt; Repository Location...'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-02.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''Location Url:''' box, paste the link https://inkscape.svn.sourceforge.net/svnroot/inkscape/inkscape/trunk and click finish.  This location will now show in the '''SVN Repository''' tab.  You can expand the tree to see what is on the server.&lt;br /&gt;
&lt;br /&gt;
Now right click the location name (which is really just the link given above), and click '''Checkout...'''.  Choose '''Check out as a project configured using the New Project Wizard''' and the revision you want (probably Head), and click '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
In the New Project window that appears, choose '''C++ Project''' in Eclipse Europa (or in Callisto '''Standard Make C++ Project''') and click '''Next'''.&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-Europa-ProjectType.png]]&lt;br /&gt;
&lt;br /&gt;
Give your project a name such as InkscapeSVN.  Uncheck the '''Use default location''' box so you can provide a better project location outside of your workspace, such as C:\InkscapeSVN. Select '''Executable (XL C/C++)''' as the project type, and '''XL C/C++ Tool Chain''' as the the Toolchain (this will not be necessary in Callisto (or before?) as this has been already been specified by selecting '''Standard Make C++ Project'''). Click '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-Europa-CppProjectType.png]]&lt;br /&gt;
&lt;br /&gt;
The source code will now be checked out - this may take a while. You will also now have a project in the '''C/C++ Perspective''' with whatever name you provided earlier.&lt;br /&gt;
&lt;br /&gt;
=== TortoiseSVN (Outdated as version control is provided by Bazaar now) ===&lt;br /&gt;
&lt;br /&gt;
To use TortoiseSVN instead of Subclipse to check out your project, open a Windows Explorer instance.  Right click anywhere outside of an existing SVN tree and choose '''SVN Checkout...'''.  Specify the link given above and the destination directory.&lt;br /&gt;
&lt;br /&gt;
To get a project in Eclipse, go to the '''C/C++ Perspective'''.&lt;br /&gt;
&lt;br /&gt;
In Eclipse Europa select '''File &amp;gt; New &amp;gt; C++ Project'''. Choose a project type of '''Executable (XL C/C++)'''.&lt;br /&gt;
&lt;br /&gt;
In Eclipse Calisto right click in the '''C/C++ Projects''' tab, and choose '''New &amp;gt; Project...''' and in the window choose '''Standard Make C++ Project.'''&lt;br /&gt;
&lt;br /&gt;
Give the project a name, and uncheck the '''Use default location''' box.  You must give the location that you checked the code out into here.&lt;br /&gt;
&lt;br /&gt;
At this point, you will be able to use TortoiseSVN or Subclipse within Eclipse to control the source.&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE FOR LINUX USERS''' For building, you can probably get away with running './autogen.sh' then './configure' from the directory containing your copy of the repository. You can then create a 'Builder' which contains Makefile as Main-Location.&lt;br /&gt;
&lt;br /&gt;
Be sure you have the btool built and ready to go, as outlined on the [[Win32Port]] page.  You can build Inkscape from the command line or initiate it from within Eclipse, which will capture the output for you.&lt;br /&gt;
&lt;br /&gt;
To set up Eclipse to do this, make sure you are in the '''C/C++ Perspective''' and that your project is open.  Right click on the project name and click '''Properties'''.  Click on '''Builders'''.  Uncheck any builders that are there since we will be using the custom btool.  Click '''New...''' and select '''Program'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-04.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''Main''' tab, browse the workspace for the location of the btool.exe file.  Browse the workspace again to set the working directory to the main project directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-05.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now go to the '''Environment Tab''' and add a new variable called path.  Add the same thing that appears in your mingenv.bat file here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-06.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-07.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on '''C/C++ Project Paths''' and then the tab '''Path Containers'''.  Click '''Add...''', choose '''Discovered scanner configuration container''', '''Next''', '''Discovered Paths''', and '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
Now go to '''C/C++ Include Paths and Symbols'''.  Click '''Add Contributed''' and choose the '''Discovered scanner configuration container''', then '''Discovered Paths'''.  Then click '''Add External Include Path''' and add the path to your GTK folder (probably something like c:\gtk210).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-08.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to use the '''Project &amp;gt; Build All''' command, capturing the output onto Eclipse's console.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
&lt;br /&gt;
You need to make a couple of changes to the build.xml file and do a clean rebuild.  First, add -g to the flags section:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;flags&amp;gt;&lt;br /&gt;
      -Wall -O3&lt;br /&gt;
      -mms-bitfields&lt;br /&gt;
      '''-g'''&lt;br /&gt;
  &amp;lt;/flags&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then avoid stripping symbol information from the exe by changing this line&lt;br /&gt;
      strip=&amp;quot;'''true'''&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
with this one&lt;br /&gt;
      strip=&amp;quot;'''false'''&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now you need to create a debugging instance in Eclipse.  Click '''Run &amp;gt; Debug...'''.  Click on '''C/C++ Local Application''' and then click the new button.  Give the launch configuration a logical name such as Inkscape Debug.&lt;br /&gt;
&lt;br /&gt;
These screenshots show you the values you have to change in each tab.  Nothing else needs to change.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-09.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-10.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you can launch this new configuration and debug away!&lt;br /&gt;
&lt;br /&gt;
(Don't worry about funny warnings about files or folders not existing - it doesn't seem to affect the use of the debugger.  However, if you know how to fix it, please replace this comment with instructions.)&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape_on_Windows_32-bit&amp;diff=95954</id>
		<title>Compiling Inkscape on Windows 32-bit</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape_on_Windows_32-bit&amp;diff=95954"/>
		<updated>2015-03-05T10:01:33Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Set Environmental Variables */  Added restart required after environment variables set.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''For 64 bit: see [[Compiling Inkscape on Windows 64-bit]]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Inkscape was originally written for Linux, but it has been ported to other platforms, including Windows. Since Windows is not POSIX compliant and doesn't have several features useful to developers (like package management), compiling Inkscape on Windows is more tedious than on Linux, but perfectly possible. To make it easier, we have compiled a package that contains all the libraries you need to build Inkscape. This reduces the effort of compiling Inkscape to: download and install 3 programs, download library package, download sourcecode, and you are ready to go.&lt;br /&gt;
&lt;br /&gt;
==Setting up the build environment==&lt;br /&gt;
&lt;br /&gt;
To develop Inkscape, you will need the following things:&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.bazaar.canonical.com/WindowsDownloads Bazaar]&lt;br /&gt;
* [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY] programs: puttygen.exe and pageant.exe&lt;br /&gt;
* TDM's GCC (MingW): Please use exactly the [http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/Previous/1.1006.0/tdm-gcc-4.6.1.exe/download  version 4.6.1 32bit bundle installer] and follow the instructions below. In the setup, '''Uncheck''' the [''Check for updated files on the TDM-GCC server''] when installing, or it will install a newer version. Newer versions (tdm-gcc-4.7+) introduce important changes in gcc and don't work with the current Inkscape devlibs (see [http://old.nabble.com/Compiling-on-Windows-7-x64-td34601489.html developpers' list discussion]).&lt;br /&gt;
* Launchpad account&lt;br /&gt;
&lt;br /&gt;
In order to build the installer (not needed for most developers):&lt;br /&gt;
* [http://sourceforge.net/projects/nsis/files/NSIS%202/2.46/nsis-2.46-setup.exe/download NSIS 2.46]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Install the compiler===&lt;br /&gt;
Run the TDM-MinGW installer:&lt;br /&gt;
# Install in a path that doesn't contain spaces. The path 'C:\mingw' is ideal beacuse it is currently set in the &amp;lt;tt&amp;gt;mingwenv.bat&amp;lt;/tt&amp;gt; file (along with the location of devlibs).&lt;br /&gt;
#* TDM-MinGW's default install option may be to a different location. You will have to edit the &amp;lt;tt&amp;gt;mingwenv.bat&amp;lt;/tt&amp;gt; file to point there.&lt;br /&gt;
#* If you install it into another path, set the environment variable MINGW_PATH to the TDM-MinGW installation directory, e.g. the one containing &amp;lt;tt&amp;gt;README-tdm-gcc.txt&amp;lt;/tt&amp;gt; (right click My Computer -&amp;gt; Properties -&amp;gt; Advanced -&amp;gt; Environment Variables).&lt;br /&gt;
# Be sure to enable the &amp;quot;GCC -&amp;gt; openmp support&amp;quot; checkbox from the components list&lt;br /&gt;
&lt;br /&gt;
===Create your Launchpad account===&lt;br /&gt;
You can skip this step (or do it later) if you just want to download the sources, but not submit your changes.&lt;br /&gt;
&lt;br /&gt;
If you do not have an SSH public/private key pair to identify yourself:&lt;br /&gt;
*run the program puttygen.exe to generate an SSH key&lt;br /&gt;
*save both its parts.&lt;br /&gt;
Log into your Launchpad account, go to your profile page and add the public part of the generated key to the list of SSH keys. Run the program pageant.exe (you can add it to Autorun). A tray icon should appear. Right click it, select &amp;quot;Add Key&amp;quot; and pick the private key file you have just generated from the dialog. Note that you need to repeat this after every login whenever you want to access Launchpad.&lt;br /&gt;
&lt;br /&gt;
Now set up Bazaar. First tell it who you are, then associate with your Launchpad account. You need to use the account name (e.g. johnq), not the display name.(John Q. Public).&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt; bzr whoami &amp;quot;''Your Name'' &amp;lt;''your_real_email@example.com''&amp;gt;&amp;quot;&lt;br /&gt;
 C:\&amp;gt; bzr launchpad-login ''your_launchpad_account''&lt;br /&gt;
&lt;br /&gt;
===Install the developer libraries===&lt;br /&gt;
Check out Inkscape Devlibs into C:\devlibs. If you check them out elsewhere, set the environment variable DEVLIBS_PATH to the path where they are. Devlibs are a bundle of all the libraries needed to compile Inkscape. If you experience any problems, make sure you have an up to date copy of those libraries and an up to date checkout of Inkscape source. To reduce the size of the download, pass the &amp;lt;tt&amp;gt;--lightweight&amp;lt;/tt&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt; bzr checkout --lightweight lp:inkscape-devlibs devlibs&lt;br /&gt;
&lt;br /&gt;
To update devlibs:&lt;br /&gt;
&lt;br /&gt;
 C:\devlibs&amp;gt; bzr update&lt;br /&gt;
&lt;br /&gt;
All Inkscape developers can commit to the devlibs trunk. Advanced information about Devlibs, mainy useful when you want to update them to newly released versions of upstream libraries, is available here: [[Inkscape Devlibs]].&lt;br /&gt;
You can see some infomation from [https://launchpad.net/inkscape-devlibs launchpad:inkscape-devlibs] and [http://bazaar.launchpad.net/~inkscape.dev/inkscape-devlibs/trunk/files trunk/files].&lt;br /&gt;
&lt;br /&gt;
== Obtaining Inkscape source code ==&lt;br /&gt;
&lt;br /&gt;
You can obtain released Inkscape source from a tarball. Since version 0.47 they are hosted on [https://launchpad.net/inkscape Inkscape's Launchpad page]. There are ready-made installers provided, so there's usually little reason to compile the stable version yourself.&lt;br /&gt;
&lt;br /&gt;
To obtain cutting edge code, check out Inkscape source from the Bazaar repository. You can also use the TortoiseBZR shell extensions to do this. The recommended way is to first create a shared repository, then check out the Inkscape branch into that shared repository. Using this setup, branching will be a lot faster.&lt;br /&gt;
&lt;br /&gt;
 C:\src\inkscape&amp;gt; bzr init-repo --rich-root .&lt;br /&gt;
 C:\src\inkscape&amp;gt; bzr upgrade&lt;br /&gt;
 C:\src\inkscape&amp;gt; bzr checkout lp:inkscape trunk&lt;br /&gt;
&lt;br /&gt;
If you don't want to create any branches, you can skip the shared repository step.&lt;br /&gt;
&lt;br /&gt;
 C:\src&amp;gt; bzr checkout lp:inkscape&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' make sure that the path to your Inkscape source checkout does not contain spaces. Unix tools do not like them and you will end up with a lot of error messages about missing files.&lt;br /&gt;
&lt;br /&gt;
== Set Environmental Variables ==&lt;br /&gt;
&lt;br /&gt;
First set up the environmental variables. You need to run mingwenv once per console session like this: &lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; mingwenv&lt;br /&gt;
Or you can set the paths in the Windows system settings. Go to (Win 7):&lt;br /&gt;
&lt;br /&gt;
Start-&amp;gt;Control Panel -&amp;gt;System and Security-&amp;gt;System-&amp;gt;Advanced system settings-&amp;gt;Advanced-&amp;gt;Environment variables-&amp;gt;System variables-&amp;gt;New.&lt;br /&gt;
Add these variable names and values:&amp;lt;br&amp;gt;&lt;br /&gt;
DEVLIBS_PATH c:\devlibs&amp;lt;br&amp;gt;&lt;br /&gt;
MINGW_PATH c:\mingw&amp;lt;br&amp;gt;&lt;br /&gt;
MINGW_BIN c:\mingw\bin&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH c:\devlibs \lib\pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
CMAKE_PREFIX_PATH c:\devlibs&amp;lt;br&amp;gt;&lt;br /&gt;
GTKMM_BASEPATH c:\devlibs&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, edit the PATH variable, and add these if not already present:&amp;lt;br&amp;gt;&lt;br /&gt;
c:\mingw\bin;c:\devlibs\python;c:\devlibs\bin&lt;br /&gt;
&lt;br /&gt;
After the Environment Variables are set in the Windows system settings, a restart is required.&lt;br /&gt;
&lt;br /&gt;
== Compile the Build Tool ==&lt;br /&gt;
&lt;br /&gt;
Now compile the build tool. (Try the following command one by one. if that command fails)&lt;br /&gt;
&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; g++ buildtool.cpp -o btool&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; g++ buildtool.cpp -o btool -fopenmp&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; g++ -DNEED_GETTIMEOFDAY buildtool.cpp -o btool -fopenmp&lt;br /&gt;
&lt;br /&gt;
== Building Inkscape ==&lt;br /&gt;
&lt;br /&gt;
Finally initiate the compilation. Get a coffee or take your dog out for a walk, because it will take a rather long time. If you have a multicore processor, add &amp;quot;-j 8&amp;quot; to use (for example) 8 parallel compilation threads.&lt;br /&gt;
&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; btool -j 8&lt;br /&gt;
&lt;br /&gt;
Once everything is done, there should be an &amp;lt;tt&amp;gt;inkscape&amp;lt;/tt&amp;gt; directory that contains the Inkscape executable and libraries needed to run it.&lt;br /&gt;
&lt;br /&gt;
== Rebuilding ==&lt;br /&gt;
&lt;br /&gt;
If you have only changed a few files and want to rebuild, delete the &amp;lt;tt&amp;gt;inkscape&amp;lt;/tt&amp;gt; directory and run &amp;lt;tt&amp;gt;btool&amp;lt;/tt&amp;gt; again.&lt;br /&gt;
&lt;br /&gt;
To rebuild from scratch, execute the following sequence of commands:&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; btool clean&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; btool&lt;br /&gt;
&lt;br /&gt;
== Dealing With Build Errors ==&lt;br /&gt;
Feel free to add any questions or answers you have in here;&lt;br /&gt;
&lt;br /&gt;
'''Q''' - My firewall software (Comodo's Defense+ component or similar) stopped the process continuing to the next step in the build, because I wasn't there to permit an action and it timed out. What can I do?&lt;br /&gt;
&lt;br /&gt;
'''A1''' - The best thing is to disable stuff like Defense+ (put it in learning mode works) because it will stop any process that is not approved, and building makes new files which can't be approved before they're built. Disabling Comodo's Defense+ does not disable your firewall, either inbound or outbound, but just the part that scans every application for suspicious operations. Other firewalls etc may vary.&lt;br /&gt;
&lt;br /&gt;
'''A2''' - If that doesn't suit, often you can simply run btool again and wait for Defense+ (or similar) to ask for approval for the process, and it will then continue as normal with the build. But remember that approving all the processes involved in the build process once doesn't mean they will all slip through next time.&lt;br /&gt;
&lt;br /&gt;
'''A3''' - This is the more complex way to continue, but may help if you have problems with A2. If you know the stage the process was meant to be up to (look at the output in the command windows and compare to the stages in the ''build.xml'' file), you can start again from there.&lt;br /&gt;
&lt;br /&gt;
You may see something like this in the command window;&lt;br /&gt;
     =============================&lt;br /&gt;
     ## Target : link : link objects and library to create executable&lt;br /&gt;
     ---- task : rc&lt;br /&gt;
     ============ cmd ============&lt;br /&gt;
     windres -o build/inkres.o --include-dir=src src/inkscape.rc&lt;br /&gt;
     =============================&lt;br /&gt;
     ---- task : link&lt;br /&gt;
This will likely be followed by an error message. This means you were at the ''link'' stage&lt;br /&gt;
&lt;br /&gt;
Now simply type;&lt;br /&gt;
     ...&amp;gt;btool ''stage''&lt;br /&gt;
Or in this case&lt;br /&gt;
     ...&amp;gt;btool link&lt;br /&gt;
And the build will continue from there.&lt;br /&gt;
&lt;br /&gt;
After this, you will probably have to step through the remaining stages manually, one by one. The stages can include (see build.xml, where each stage is labelled 'target name=&amp;quot;''target''&amp;quot;') ''init'', ''touchabout'', ''compile'', ''java'', ''lib'', ''i18n'', ''link'', ''linkinkview'', ''dist'', ''dist-all'', ''clean''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q''' - How do I rebuild just one ''file.o'' file? For instance if one particular file has gone wrong, or I want to try patching just one part of the code.&lt;br /&gt;
&lt;br /&gt;
'''A''' - To find the right command for building any particular file in Inkscape, just look in the compile.lst after you have used btool once. Search for the name of the particular file (eg: print.cpp) and you will find the command used to compile it. You'll need to paste this into a text file, remove any carriage reurns and then paste that onto the command line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q''' - After I patched a file, I left a backup of the old file in the same directory called Copy of{filename}.cpp. The compiler complains about this file when building and stops.&lt;br /&gt;
&lt;br /&gt;
'''A''' - Do not leave anything with a suffix .cpp in the source directories, apart from the original (or patched) source files. The build tool will try to compile everything ending in .cpp and will complain. If you backup an old file in the same directory before patching, call it {filename}.cpp.old or similar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q''' - I think I followed the instruction above. What could have caused the compiling error like this for src/extension/internal/pdfinput/pdf-parser.cpp?&lt;br /&gt;
&lt;br /&gt;
     src/extension/internal/pdfinput/pdf-parser.cpp:2248: error: no matching function for call to 'GfxFont::getNextChar(char*&amp;amp;, int&amp;amp;, CharCode*, Unicode [8], int, int*, double*, double*, double*, double*)'&lt;br /&gt;
&lt;br /&gt;
Same error for line 2297 as well.&lt;br /&gt;
&lt;br /&gt;
=== For more information ===&lt;br /&gt;
There is some old information on building Inkscape with either Mingw on Windows, or a cross-compiler on Linux, at http://inkscape.modevia.com/win32_inkscape_org/win32buildnotes.html&lt;br /&gt;
and old files mey be&lt;br /&gt;
http://inkscape.modevia.com/win32libs/&lt;br /&gt;
== Creating an installer ==&lt;br /&gt;
&lt;br /&gt;
To create the '''inkscape-$RELEASE-win32.exe''' setup package you need the '''NSIS''' installer on your PC. Get that from http://nsis.sf.net .&lt;br /&gt;
You have successfully built Inkscape and everything is in the ...\inkscape\ directory.&lt;br /&gt;
Open the ...\packaging\win32\inkscape.nsi using the NSIS program and compile the package. Sooo easy :-)&lt;br /&gt;
&lt;br /&gt;
The new wix installer in the packaging\wix directory creates msi packages. You need the '''windows installer XML''' package; get it from here http://wixtoolset.org/. Follow the instructions in the README file in the packaging\wix directory. The installer scripts parse version information from the inkscape.rc file. The generated packed is named as:&lt;br /&gt;
&lt;br /&gt;
   '''inkscape-$RELEASE.msi'''&lt;br /&gt;
&lt;br /&gt;
== Note about Unicode ==&lt;br /&gt;
&lt;br /&gt;
The GTK stack depends on functions only present in NT-based Windows (2000 and later). Therefore, Inkscape code can assume that Unicode functions from the Windows API (like GetCommandLineW) are always present. Note however that you should use the GLib/GTK functions rather the Windows API whenever possible.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
*[[Compiling Inkscape]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Debugging_Inkscape&amp;diff=95948</id>
		<title>Debugging Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Debugging_Inkscape&amp;diff=95948"/>
		<updated>2015-03-05T09:11:52Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Debugging Tips for Windows */ Changed Using Eclipse link to Using Visual Studio&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* If you're hunting down a GTK warning, you can set a breakpoint in gdb for &amp;quot;g_logv&amp;quot; so you can capture a backtrace.  (&amp;quot;br g_logv&amp;quot;, &amp;quot;run&amp;quot;, &amp;quot;bt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
* If you're hunting down a g_assert, you can set a breakpoint in gdb for &amp;quot;g_assertion_message_expr&amp;quot; (or &amp;quot;g_assertion_message&amp;quot; maybe) to stop execution and make a backtrace.&lt;br /&gt;
&lt;br /&gt;
* gdb can catch &amp;lt;b&amp;gt;throwing of an exception&amp;lt;/b&amp;gt;. Type: &amp;quot;catch throw&amp;quot; and gdb will stop execution at the point of where the exception is thrown, without unwinding the stack, so you can get a backtrace!&lt;br /&gt;
&lt;br /&gt;
* Bug list&lt;br /&gt;
- w32 version asks for (that crappy) Verdana typeface (which is not the most usual w32 typeface, also some users have deleted it to save disk space)&lt;br /&gt;
&lt;br /&gt;
== Debugging Tips for OS X ==&lt;br /&gt;
&lt;br /&gt;
When running the .app package for OS X, it can be difficult to get a backtrace because the application binary is launched through another application and 2 scripts.  One way to get a backtrace is:&lt;br /&gt;
* Add '-g' to $CFLAGS in your build script before building.&lt;br /&gt;
* Remove the signal() calls (&amp;lt;code&amp;gt;segv_handler = signal (SIGSEGV,... &amp;lt;/code&amp;gt;) ) in inkscape_application_init() in src/inkscape.cpp.&lt;br /&gt;
* In the Resources/bin/inkscpe script, change the last line from:&lt;br /&gt;
     &amp;lt;code&amp;gt;exec &amp;quot;$CWD/inkscape-bin&amp;quot; &amp;quot;$@&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
    to:&lt;br /&gt;
     &amp;lt;code&amp;gt;exec &amp;quot;/usr/bin/gdb&amp;quot; &amp;quot;stuff/inkscape-bin&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
* Build and package the app (see [[CompilingMacOsX]]).&lt;br /&gt;
* Run the application in Terminal:&lt;br /&gt;
     &amp;lt;code&amp;gt;&lt;br /&gt;
     $ cd packaging/macosx&lt;br /&gt;
     $ Inkscape.app/Contents/MacOS/Inkscape&lt;br /&gt;
     ...&lt;br /&gt;
     (gdb) run&lt;br /&gt;
     &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging Tips for Windows ==&lt;br /&gt;
&lt;br /&gt;
First, have a look at the [[Using Visual Studio]] page for how to use that program on Windows to debug Inkscape.&lt;br /&gt;
&lt;br /&gt;
Second, make use of the '''View &amp;gt; Messages...''' dialog from within the program.  Capturing the log here will show you messages printed with g_message(), g_warning(), and g_error()..&lt;br /&gt;
&lt;br /&gt;
Finally, look into [http://wiki.inkscape.org/wiki/index.php/FAQ#I.27m_on_Windows.2C_and_command_line_parameters_don.27t_seem_to_work.21 how to compile Inkscape as a command line app] so you can capture debug messages at the prompt, more like you would do in Linux.&lt;br /&gt;
&lt;br /&gt;
===How Johan works===&lt;br /&gt;
Of course I am always compiling with [http://wiki.inkscape.org/wiki/index.php/FAQ#I.27m_on_Windows.2C_and_command_line_parameters_don.27t_seem_to_work.21 -mconsole, instead of -mwindows]. I don't compile with -g or any other extra flags. This is unnecessary and reduces build times &amp;lt;i&amp;gt;significantly&amp;lt;/i&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For example for crashes, usually I add g_message(&amp;quot;blah&amp;quot;) to the code to see where the execution of code goes and to see on which line things break:&lt;br /&gt;
&lt;br /&gt;
    g_message(&amp;quot;1&amp;quot;);&lt;br /&gt;
    some_piece_of_code1();&lt;br /&gt;
    g_message(&amp;quot;2&amp;quot;);&lt;br /&gt;
    some_piece_of_code2();&lt;br /&gt;
    g_message(&amp;quot;3&amp;quot;);&lt;br /&gt;
    some_piece_of_code3();&lt;br /&gt;
    g_message(&amp;quot;4&amp;quot;);&lt;br /&gt;
    some_piece_of_code4();&lt;br /&gt;
    g_message(&amp;quot;5&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
If I see the message &amp;quot;2&amp;quot; but not &amp;quot;3&amp;quot; I know the crash happened in  some_piece_of_code2.&lt;br /&gt;
&lt;br /&gt;
I also use GDB to get backtraces. Again, don't compile with -g. Not necessary at all! One of the problems with running Inkscape in gdb is that you cannot open a file with the file dialog: Inkscape will hang. I don't know the reason, but I do know a solution! Open the file through Inkscape's cmdline parameters:&lt;br /&gt;
&lt;br /&gt;
     D:\Inkscape\inkscape&amp;gt;gdb&lt;br /&gt;
     GNU gdb 6.6&lt;br /&gt;
     Copyright (C) 2006 Free Software Foundation, Inc.&lt;br /&gt;
     GDB is free software, covered by the GNU General Public License, and you are&lt;br /&gt;
     welcome to change it and/or distribute copies of it under certain conditions.&lt;br /&gt;
     Type &amp;quot;show copying&amp;quot; to see the conditions.&lt;br /&gt;
     There is absolutely no warranty for GDB.  Type &amp;quot;show warranty&amp;quot; for details.&lt;br /&gt;
     This GDB was configured as &amp;quot;i686-pc-mingw32&amp;quot;.&lt;br /&gt;
     (gdb) file inkscape.exe inkscape.dbg&lt;br /&gt;
     Reading symbols from D:\Inkscape\inkscape/inkscape.exe...(no debugging symbols found)...done.&lt;br /&gt;
     Reading symbols from D:\Inkscape\inkscape/inkscape.dbg...done.&lt;br /&gt;
     (gdb) run Tekening.svg&lt;br /&gt;
     Starting program: D:\Inkscape\inkscape/inkscape.exe Tekening.svg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Example of how to fix a bug===&lt;br /&gt;
See this bugreport:&lt;br /&gt;
https://bugs.launchpad.net/inkscape/+bug/169135&lt;br /&gt;
&lt;br /&gt;
I started gdb like above. And then I saw this:&lt;br /&gt;
    Program received signal SIGSEGV, Segmentation fault.&lt;br /&gt;
    0x005c94ec in Inkscape::UI::Widget::Scalar::setValue ()&lt;br /&gt;
    (gdb) bt&lt;br /&gt;
    #0  0x005c94ec in Inkscape::UI::Widget::Scalar::setValue ()&lt;br /&gt;
    #1  0x0044fc11 in Inkscape::CanvasXYGrid::readRepr ()&lt;br /&gt;
    #2  0x0044de22 in Inkscape::CanvasXYGrid::onReprAttrChanged ()&lt;br /&gt;
&lt;br /&gt;
The crashing piece of code looked like this:&lt;br /&gt;
&lt;br /&gt;
   void Scalar::setValue(double value)&lt;br /&gt;
   {&lt;br /&gt;
       g_assert(_widget != NULL);&lt;br /&gt;
       setProgrammatically = true; // callback is supposed to reset back, if it cares&lt;br /&gt;
       static_cast&amp;lt;Gtk::SpinButton*&amp;gt;(_widget)-&amp;gt;set_value(value);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
Nothing much can crash there, the assert checks that _widget is not NULL, and then the cast is valid aswell. So what crashed? What happens is that the setValue method is called for an object that does not exist. _widget is not NULL, but &amp;quot;this&amp;quot; is! this-&amp;gt;_widget would crash. g_assert (this != NULL) would give an assertion message. (checked by adding  &amp;quot;    if (this==NULL) g_message(&amp;quot;ja hoor&amp;quot;);  &amp;quot; )&lt;br /&gt;
&lt;br /&gt;
It is absurd to check for &amp;quot;this&amp;quot; to be non-NULL at the start of every method, so the bug is not in this method but in the function calling it! That's why we turn our attention to Inkscape::CanvasXYGrid::readRepr ().&lt;br /&gt;
&lt;br /&gt;
readRepr is long, but we only have to look where it does something with a Scalar widget. It's the validateScalar functions. When we comment those out, the bug is solved. (it causes another bug with the specific SVG file, where Inkscape hangs when the grid spacing equals zero. validateScalar used to check for that...)&lt;br /&gt;
The strange thing is that the widgets are all created and initialized in the constructor of CanvasXYGrid. So perhaps readRepr is being called *during* construction of CanvasXYGrid, while the Scalar widget is still invalid? Using the g_message tip above I found out that the problem code was:&lt;br /&gt;
        sutemp = _rsu_sx.getSU();&lt;br /&gt;
   g_message(&amp;quot;CanvasXYGrid 1&amp;quot;);&lt;br /&gt;
        sutemp-&amp;gt;setDigits(4);&lt;br /&gt;
   g_message(&amp;quot;CanvasXYGrid 2&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Researching the setDigits path, I could not find a bug. Then it hit me: _rsu_sx is initialized, then readRepr is called, but this is &amp;lt;i&amp;gt;before&amp;lt;/i&amp;gt; _rsu_sy is initialized. Then&lt;br /&gt;
&lt;br /&gt;
    void RegisteredScalarUnit::setValue (double val)&lt;br /&gt;
    {&lt;br /&gt;
        _widget-&amp;gt;setValue (val);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
is called, but _widget is still NULL, hence the crash.&lt;br /&gt;
As usual, the fix is easy:&lt;br /&gt;
    void RegisteredScalarUnit::setValue (double val)&lt;br /&gt;
    {&lt;br /&gt;
        if (_widget)&lt;br /&gt;
            _widget-&amp;gt;setValue (val);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Don't forget to fix the setValue methods of the other Registered widgets!!!&lt;br /&gt;
&lt;br /&gt;
The fix can be seen in [http://inkscape.svn.sourceforge.net/viewvc/inkscape?view=rev&amp;amp;revision=16544 SVN revision 16544]. &lt;br /&gt;
&lt;br /&gt;
===Problems running GDB===&lt;br /&gt;
From an inexperienced user of GDB just trying to get backtraces, here is a tip I found running gdb.&lt;br /&gt;
&lt;br /&gt;
I simply downloaded the latest version of Inkscape Dev full debug, extracted to a directory and ran gdb exactly as above from within the directory, only changing the name of the svg file.&lt;br /&gt;
&lt;br /&gt;
Everything went exactly as above for &amp;quot;file inkscape.exe inkscape.dbg&amp;quot;, however after executing the &amp;quot;run {filename.svg}&amp;quot; command, I received the following message;&lt;br /&gt;
     Program received signal SIGSEV, Segmentation fault.&lt;br /&gt;
     0x03de8cf1 in xslDebugStatus ()&lt;br /&gt;
&lt;br /&gt;
This has stumped me once before, but this time I checked out the help menus, and found under &amp;quot;help running&amp;quot; that I could simply type &amp;quot;continue&amp;quot;. I figured that xslDebugStatus was nothing to do with the Inkscape program itself, but more to do with gdb, and after typing &amp;quot;continue&amp;quot; it seems to run Inkscape under gdb as normal, allowing backtraces.&lt;br /&gt;
&lt;br /&gt;
===guard32.dll error===&lt;br /&gt;
If you try to run gdb but it halts, complaining about guard32.dll, your Comodo Firewall installation is blocking gdb.  Easiest way around this is to '''disable the Defense+ module completely''' -- open up Comodo Firewall, click on Defense+, Defense+ settings, set Security Level to &amp;quot;Disabled&amp;quot;, and check &amp;quot;Deactivate the Defense+ permanently&amp;quot;.  Reboot.&lt;br /&gt;
&lt;br /&gt;
== Debugging Tips for Linux ==&lt;br /&gt;
&lt;br /&gt;
Debugging Inkscape on Linux is most easily done using Eclipse (or any other IDE). When however a breakpoint is reached while Inkscape is in a pointer grab (for example when dragging a control point or drawing a path), then X will stop responding. If you want to debug in such a case then you'll have to use gdb from the console. In Fedora 10 you'll get to the console when pressing ctrl-alt-F5. Now enter&lt;br /&gt;
     declare -x DISPLAY=&amp;quot;:0&amp;quot;&lt;br /&gt;
and startup gdb to load Inkscape and the debugging symbols, set your breakpoints, and start Inkscape. Now you can switch back to X (ctrl-alt-F1) and interact with Inkscape. When Inkscape stops responding because it hit a breakpoint, switch back to the console and do your debugging.&lt;br /&gt;
&lt;br /&gt;
If you happen to run into some issues with one of the Gtk+ libraries and want to step through its code using the debugger, you will have to install its debugging symbols. For Fedora 10 you can simply enable the fedora-debuginfo repository in /etc/yum.repos.d/fedora.repo and then use yum to install for example the &amp;quot;gtk2-debuginfo&amp;quot; and &amp;quot;glib-debuginfo&amp;quot; package. For other distros you'll find some usefull information here:&lt;br /&gt;
     http://live.gnome.org/GettingTraces/DistroSpecificInstructions&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=95942</id>
		<title>Using Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Visual_Studio&amp;diff=95942"/>
		<updated>2015-03-05T09:08:47Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: Under construction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Under construction =&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Inkscape&amp;diff=95936</id>
		<title>Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Inkscape&amp;diff=95936"/>
		<updated>2015-03-05T09:05:46Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* First Steps */ Added Using Visual Studio&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a freeform area for Inkscape development and discussion.  &lt;br /&gt;
Curious about [[WikiSyntax]]?&lt;br /&gt;
&lt;br /&gt;
Other languages: [[Inkscape en español|Wiki en español]], [[L'Inkscape en Català|Wiki en Català]], [[Inkscape em Português|Wiki em Português]], [[Startseite|Wiki auf deutsch]]...&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;11&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:33%;background-color: #E6E6E6; padding:.5em;&amp;quot;|&lt;br /&gt;
=== Project Info ===&lt;br /&gt;
* [http://www.inkscape.org/ Inkscape Homepage]&lt;br /&gt;
* [[About Inkscape]]&lt;br /&gt;
* [[Features of Inkscape|Features]]&lt;br /&gt;
* [[FAQ]] - Frequently Asked Questions&lt;br /&gt;
* [[Supported operating systems]]&lt;br /&gt;
* [[Tools]] - Supporting Tools and Applications&lt;br /&gt;
* [[Galleries]]&lt;br /&gt;
* [[Inkscape coverage|Coverage]] - Awards, articles, presentations, books about Inkscape&lt;br /&gt;
* [[Inkscape popularity|Popularity]]&lt;br /&gt;
* [[Contact information]] - the developers' e-mails and SVN nicknames&lt;br /&gt;
* [[InkscapeInvariants|Inkscape's Mission]]&lt;br /&gt;
* [[CommunicationChannels|Communication Channels]]: how to reach us&lt;br /&gt;
* [[AnnouncementToSodipodi|Announcement To Sodipodi]]: this started it all&lt;br /&gt;
* [[Branding]]&lt;br /&gt;
* [[ContactInfo|Contact Information]]: who's behind Inkscape&lt;br /&gt;
* [[Travel Reimbursement Policy]]&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;width:33%;;background-color: white; padding:.5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== User Documentation ===&lt;br /&gt;
* [[Installing Inkscape|Installation]]&lt;br /&gt;
* [[International and Local Communities]]&lt;br /&gt;
* [[Inkscape glossary]]&lt;br /&gt;
* [[User manual information]] - where to find the free Inkscape manual and how to contribute to it&lt;br /&gt;
* [http://inkscape.org/en/learn/tutorials/ Tutorials]&lt;br /&gt;
* [[Inkscape SVG vs. plain SVG]]&lt;br /&gt;
* [[Output format requirements]] - what's needed to save in some formats&lt;br /&gt;
* [[Effect requirements]] - what's needed to use some effects&lt;br /&gt;
* [[Effect reference]] - what each effect does&lt;br /&gt;
* [[Connector tool tutorial]]&lt;br /&gt;
* [[Installing fonts]]&lt;br /&gt;
* [[Emergency save]] - recovery in case Inkscape crashed&lt;br /&gt;
* [[Release notes]]&lt;br /&gt;
** '''for version [[Release notes/0.92|0.92]] (active development)'''&lt;br /&gt;
** '''for version [[Release notes/0.91|0.91]] (current release)'''&lt;br /&gt;
** older versions: [[Release notes/0.48.5|0.48.5]] [[Release notes/0.48.4|0.48.4]] [[Release notes/0.48.3|0.48.3]], [[Release notes/0.48.2|0.48.2]], [[Release notes/0.48.1|0.48.1]], [[Release notes/0.48|0.48]], [[Release notes/0.47|0.47]]&lt;br /&gt;
* [[Announcing Releases]]&lt;br /&gt;
* [[Tricks and tips]] - miscellaneous advice, may be slightly outdated&lt;br /&gt;
&lt;br /&gt;
|style=&amp;quot;width:33%;background-color: #E6E6E6; padding:.5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== Help Inkscape Without Coding === &lt;br /&gt;
* [[Bug management]]&lt;br /&gt;
* [[Testing]]&lt;br /&gt;
* [[Translation information]]&lt;br /&gt;
* [[Editing Inkscape's website|Website]]&lt;br /&gt;
* [[Inkscape Classes]]&lt;br /&gt;
* [[Conferences]]&lt;br /&gt;
* [[Marketing Scratchpad]]&lt;br /&gt;
&lt;br /&gt;
* [[HelpWanted]]&lt;br /&gt;
* [[BugTriageProjects]]&lt;br /&gt;
* [[CreatingDists]]: how to build packages&lt;br /&gt;
* [[StableBranchUpdates]]&lt;br /&gt;
* [[UpdatingTrackerItems]]&lt;br /&gt;
* [[TutorialsAndHelp]]&lt;br /&gt;
* [[How_To_Start_A_Page]] how to use the wiki&lt;br /&gt;
* [[CreatingScreencasts]]&lt;br /&gt;
* [[AboutScreenContest]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;width: 100%; background-color: white; border-width:1px; border-style:solid; border-color:#62C012; align:left; padding:11px 0em 0em 11px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
=== Developer Documentation ===&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== First Steps ====&lt;br /&gt;
* [[Working with Bazaar]] - How to obtain the source code. A quick start on how to use our version control system&lt;br /&gt;
* [[Compiling Inkscape|Compilation]]&lt;br /&gt;
* [[Using Eclipse]] - Debug Inkscape on Windows using Eclipse (outdated)&lt;br /&gt;
* [[Using Visual Studio]] - Debug Inkscape on Windows using Microsoft Visual Studio&lt;br /&gt;
* [[Developer manual]] - various important information, be sure to read this before coding&lt;br /&gt;
* [[Debugging Inkscape|Debugging]] - random tips to help debug problems&lt;br /&gt;
* [[Project organization]] - procedures, hierarchy, developer roles and the likes&lt;br /&gt;
* [[Janitorial tasks]] - small tasks that need doing&lt;br /&gt;
* [[Doxygen documentation]]&lt;br /&gt;
* [[Working with SVN]] - besides the code in Bazaar, we still have some things in SVN.&lt;br /&gt;
&lt;br /&gt;
==== Developer tutorials ====&lt;br /&gt;
* [[Architectural overview]] - a high-level look at Inkscape&lt;br /&gt;
* [[Preferences subsystem]] - creating and using preference values&lt;br /&gt;
* XML subsystem (WIP) - how to manipulate the XML representation of a document&lt;br /&gt;
* Display subsystem (WIP) - how to make things appear on the canvas&lt;br /&gt;
* Tools subsystem (WIP) - how to create a new tool&lt;br /&gt;
* [[Creating a new SPObject]]&lt;br /&gt;
* Extensions&lt;br /&gt;
** [[Extension subsystem]] - an overview of the functionality provided by extensions and the possible implementations&lt;br /&gt;
** [[Script extensions]]&lt;br /&gt;
** [[Python modules for extensions]] - some helpful routines for use in Python script extensions&lt;br /&gt;
* [[Creating Live Path Effects]]&lt;br /&gt;
* [[Boost shared pointers]]&lt;br /&gt;
* [[Using libsigc++ signals]]&lt;br /&gt;
* [[Windows development on Linux]]&lt;br /&gt;
&lt;br /&gt;
==== Miscellaneous ====&lt;br /&gt;
* [[INX extension descriptor format]]&lt;br /&gt;
* [[Inkscape-specific XML attributes]] - documentation of attributes from Inkscape's XML namespace&lt;br /&gt;
&lt;br /&gt;
* [[Extension repository]]: an Internet central for Inkscape Extensions&lt;br /&gt;
* [[Related programs]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== Continuous Integration (Automated testing) ====&lt;br /&gt;
* [http://jenkins.inkscape.org Our main testing website (Jenkins)]&lt;br /&gt;
* [[How to contribute to automated tests]]&lt;br /&gt;
* [[Jenkins server setup]]&lt;br /&gt;
&lt;br /&gt;
==== Development Discussion ====&lt;br /&gt;
* [[Roadmap]]: the main todo list&lt;br /&gt;
* [[Dependencies]] - what libs are needed to build Inkscape&lt;br /&gt;
* [[C++11]] - What C++11 features can be used&lt;br /&gt;
* [[NewFeatureProposals]]&lt;br /&gt;
* [[ExtensionArchitectureProposals]]&lt;br /&gt;
* [[Coding Style|Coding Style Discussion]]&lt;br /&gt;
* [[FileTypes]]&lt;br /&gt;
* [[ApplicationIcons]] (Application + Interface)&lt;br /&gt;
* [[Icons]]&lt;br /&gt;
* [[InkscapeColor]]&lt;br /&gt;
* [[PrintingSubsystem]]&lt;br /&gt;
* [[SVG Tiny Compliance]]&lt;br /&gt;
* [[SVG Test Suite Compliance]] - [[W3C]] full test suite&lt;br /&gt;
* [[CSS Support]]&lt;br /&gt;
* [[Google Summer Of Code]]&lt;br /&gt;
* [[Improved Media Management]]&lt;br /&gt;
* [[UI MockupScreenshots]]&lt;br /&gt;
* [[Swatch Book]]&lt;br /&gt;
* [[Tablet Dialog]]&lt;br /&gt;
* [[ViewBoxToDo]] View box support info&lt;br /&gt;
* [[Caching]]&lt;br /&gt;
* [[UI and Document coordinates‎]]&lt;br /&gt;
* [[Mipmapping]]&lt;br /&gt;
* [[GtkMMification]]: replace C boilerplate with gtkmm objects&lt;br /&gt;
&lt;br /&gt;
===Lib2Geom===&lt;br /&gt;
*[[lib2geom]]&lt;br /&gt;
*[[lib2geom Goals]]&lt;br /&gt;
*[[lib2geom FAQ]]&lt;br /&gt;
*[[lib2geom SVN Repository Guide]]&lt;br /&gt;
*[[WorkingWith2GeomFAQ]]: real-life questions answered about using 2Geom in real code&lt;br /&gt;
*[[lib2geom py2geom]]: python bindings to 2geom. With this you can use the power of 2geom in python scripts.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%;|&lt;br /&gt;
==== User Interface Discussion ====&lt;br /&gt;
* [[Translation_information]]&lt;br /&gt;
* [[AddingInterfaceVerbs]]&lt;br /&gt;
* [[AccessibleGraphics]]&lt;br /&gt;
* [[ObjectManager]]&lt;br /&gt;
* [[DialogsReorganization]]&lt;br /&gt;
* [[ModalInterfaces]]&lt;br /&gt;
* [[TextUsability]]: text tool /dialog dialog&lt;br /&gt;
* [[KeyboardShortcutsToDo]]&lt;br /&gt;
** [[KeyboardProfiles]]: how you can help &lt;br /&gt;
* [[StatusbarAPI]]&lt;br /&gt;
* [[Animation-(Timeline)]]&lt;br /&gt;
* [[Free Desktop Graphic Suite]]&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [[WikiAttic]]: pages that are no longer relevant but kept for historical value&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:About Inkscape]]&lt;br /&gt;
[[Category:User Documentation]]&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape_on_Windows_32-bit&amp;diff=95930</id>
		<title>Compiling Inkscape on Windows 32-bit</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape_on_Windows_32-bit&amp;diff=95930"/>
		<updated>2015-03-05T09:01:16Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Building Inkscape */ Added setting of Environment Variables in Windows and some reformatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''For 64 bit: see [[Compiling Inkscape on Windows 64-bit]]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Inkscape was originally written for Linux, but it has been ported to other platforms, including Windows. Since Windows is not POSIX compliant and doesn't have several features useful to developers (like package management), compiling Inkscape on Windows is more tedious than on Linux, but perfectly possible. To make it easier, we have compiled a package that contains all the libraries you need to build Inkscape. This reduces the effort of compiling Inkscape to: download and install 3 programs, download library package, download sourcecode, and you are ready to go.&lt;br /&gt;
&lt;br /&gt;
==Setting up the build environment==&lt;br /&gt;
&lt;br /&gt;
To develop Inkscape, you will need the following things:&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.bazaar.canonical.com/WindowsDownloads Bazaar]&lt;br /&gt;
* [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY] programs: puttygen.exe and pageant.exe&lt;br /&gt;
* TDM's GCC (MingW): Please use exactly the [http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/Previous/1.1006.0/tdm-gcc-4.6.1.exe/download  version 4.6.1 32bit bundle installer] and follow the instructions below. In the setup, '''Uncheck''' the [''Check for updated files on the TDM-GCC server''] when installing, or it will install a newer version. Newer versions (tdm-gcc-4.7+) introduce important changes in gcc and don't work with the current Inkscape devlibs (see [http://old.nabble.com/Compiling-on-Windows-7-x64-td34601489.html developpers' list discussion]).&lt;br /&gt;
* Launchpad account&lt;br /&gt;
&lt;br /&gt;
In order to build the installer (not needed for most developers):&lt;br /&gt;
* [http://sourceforge.net/projects/nsis/files/NSIS%202/2.46/nsis-2.46-setup.exe/download NSIS 2.46]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Install the compiler===&lt;br /&gt;
Run the TDM-MinGW installer:&lt;br /&gt;
# Install in a path that doesn't contain spaces. The path 'C:\mingw' is ideal beacuse it is currently set in the &amp;lt;tt&amp;gt;mingwenv.bat&amp;lt;/tt&amp;gt; file (along with the location of devlibs).&lt;br /&gt;
#* TDM-MinGW's default install option may be to a different location. You will have to edit the &amp;lt;tt&amp;gt;mingwenv.bat&amp;lt;/tt&amp;gt; file to point there.&lt;br /&gt;
#* If you install it into another path, set the environment variable MINGW_PATH to the TDM-MinGW installation directory, e.g. the one containing &amp;lt;tt&amp;gt;README-tdm-gcc.txt&amp;lt;/tt&amp;gt; (right click My Computer -&amp;gt; Properties -&amp;gt; Advanced -&amp;gt; Environment Variables).&lt;br /&gt;
# Be sure to enable the &amp;quot;GCC -&amp;gt; openmp support&amp;quot; checkbox from the components list&lt;br /&gt;
&lt;br /&gt;
===Create your Launchpad account===&lt;br /&gt;
You can skip this step (or do it later) if you just want to download the sources, but not submit your changes.&lt;br /&gt;
&lt;br /&gt;
If you do not have an SSH public/private key pair to identify yourself:&lt;br /&gt;
*run the program puttygen.exe to generate an SSH key&lt;br /&gt;
*save both its parts.&lt;br /&gt;
Log into your Launchpad account, go to your profile page and add the public part of the generated key to the list of SSH keys. Run the program pageant.exe (you can add it to Autorun). A tray icon should appear. Right click it, select &amp;quot;Add Key&amp;quot; and pick the private key file you have just generated from the dialog. Note that you need to repeat this after every login whenever you want to access Launchpad.&lt;br /&gt;
&lt;br /&gt;
Now set up Bazaar. First tell it who you are, then associate with your Launchpad account. You need to use the account name (e.g. johnq), not the display name.(John Q. Public).&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt; bzr whoami &amp;quot;''Your Name'' &amp;lt;''your_real_email@example.com''&amp;gt;&amp;quot;&lt;br /&gt;
 C:\&amp;gt; bzr launchpad-login ''your_launchpad_account''&lt;br /&gt;
&lt;br /&gt;
===Install the developer libraries===&lt;br /&gt;
Check out Inkscape Devlibs into C:\devlibs. If you check them out elsewhere, set the environment variable DEVLIBS_PATH to the path where they are. Devlibs are a bundle of all the libraries needed to compile Inkscape. If you experience any problems, make sure you have an up to date copy of those libraries and an up to date checkout of Inkscape source. To reduce the size of the download, pass the &amp;lt;tt&amp;gt;--lightweight&amp;lt;/tt&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt; bzr checkout --lightweight lp:inkscape-devlibs devlibs&lt;br /&gt;
&lt;br /&gt;
To update devlibs:&lt;br /&gt;
&lt;br /&gt;
 C:\devlibs&amp;gt; bzr update&lt;br /&gt;
&lt;br /&gt;
All Inkscape developers can commit to the devlibs trunk. Advanced information about Devlibs, mainy useful when you want to update them to newly released versions of upstream libraries, is available here: [[Inkscape Devlibs]].&lt;br /&gt;
You can see some infomation from [https://launchpad.net/inkscape-devlibs launchpad:inkscape-devlibs] and [http://bazaar.launchpad.net/~inkscape.dev/inkscape-devlibs/trunk/files trunk/files].&lt;br /&gt;
&lt;br /&gt;
== Obtaining Inkscape source code ==&lt;br /&gt;
&lt;br /&gt;
You can obtain released Inkscape source from a tarball. Since version 0.47 they are hosted on [https://launchpad.net/inkscape Inkscape's Launchpad page]. There are ready-made installers provided, so there's usually little reason to compile the stable version yourself.&lt;br /&gt;
&lt;br /&gt;
To obtain cutting edge code, check out Inkscape source from the Bazaar repository. You can also use the TortoiseBZR shell extensions to do this. The recommended way is to first create a shared repository, then check out the Inkscape branch into that shared repository. Using this setup, branching will be a lot faster.&lt;br /&gt;
&lt;br /&gt;
 C:\src\inkscape&amp;gt; bzr init-repo --rich-root .&lt;br /&gt;
 C:\src\inkscape&amp;gt; bzr upgrade&lt;br /&gt;
 C:\src\inkscape&amp;gt; bzr checkout lp:inkscape trunk&lt;br /&gt;
&lt;br /&gt;
If you don't want to create any branches, you can skip the shared repository step.&lt;br /&gt;
&lt;br /&gt;
 C:\src&amp;gt; bzr checkout lp:inkscape&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' make sure that the path to your Inkscape source checkout does not contain spaces. Unix tools do not like them and you will end up with a lot of error messages about missing files.&lt;br /&gt;
&lt;br /&gt;
== Set Environmental Variables ==&lt;br /&gt;
&lt;br /&gt;
First set up the environmental variables. You need to run mingwenv once per console session like this: &lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; mingwenv&lt;br /&gt;
Or you can set the paths in the Windows system settings. Go to (Win 7):&lt;br /&gt;
&lt;br /&gt;
Start-&amp;gt;Control Panel -&amp;gt;System and Security-&amp;gt;System-&amp;gt;Advanced system settings-&amp;gt;Advanced-&amp;gt;Environment variables-&amp;gt;System variables-&amp;gt;New.&lt;br /&gt;
Add these variable names and values:&amp;lt;br&amp;gt;&lt;br /&gt;
DEVLIBS_PATH c:\devlibs&amp;lt;br&amp;gt;&lt;br /&gt;
MINGW_PATH c:\mingw&amp;lt;br&amp;gt;&lt;br /&gt;
MINGW_BIN c:\mingw\bin&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH c:\devlibs \lib\pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
CMAKE_PREFIX_PATH c:\devlibs&amp;lt;br&amp;gt;&lt;br /&gt;
GTKMM_BASEPATH c:\devlibs&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, edit the PATH variable, and add these if not already present:&amp;lt;br&amp;gt;&lt;br /&gt;
c:\mingw\bin;c:\devlibs\python;c:\devlibs\bin&lt;br /&gt;
&lt;br /&gt;
== Compile the Build Tool ==&lt;br /&gt;
&lt;br /&gt;
Now compile the build tool. (Try the following command one by one. if that command fails)&lt;br /&gt;
&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; g++ buildtool.cpp -o btool&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; g++ buildtool.cpp -o btool -fopenmp&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; g++ -DNEED_GETTIMEOFDAY buildtool.cpp -o btool -fopenmp&lt;br /&gt;
&lt;br /&gt;
== Building Inkscape ==&lt;br /&gt;
&lt;br /&gt;
Finally initiate the compilation. Get a coffee or take your dog out for a walk, because it will take a rather long time. If you have a multicore processor, add &amp;quot;-j 8&amp;quot; to use (for example) 8 parallel compilation threads.&lt;br /&gt;
&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; btool -j 8&lt;br /&gt;
&lt;br /&gt;
Once everything is done, there should be an &amp;lt;tt&amp;gt;inkscape&amp;lt;/tt&amp;gt; directory that contains the Inkscape executable and libraries needed to run it.&lt;br /&gt;
&lt;br /&gt;
== Rebuilding ==&lt;br /&gt;
&lt;br /&gt;
If you have only changed a few files and want to rebuild, delete the &amp;lt;tt&amp;gt;inkscape&amp;lt;/tt&amp;gt; directory and run &amp;lt;tt&amp;gt;btool&amp;lt;/tt&amp;gt; again.&lt;br /&gt;
&lt;br /&gt;
To rebuild from scratch, execute the following sequence of commands:&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; btool clean&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; btool&lt;br /&gt;
&lt;br /&gt;
== Dealing With Build Errors ==&lt;br /&gt;
Feel free to add any questions or answers you have in here;&lt;br /&gt;
&lt;br /&gt;
'''Q''' - My firewall software (Comodo's Defense+ component or similar) stopped the process continuing to the next step in the build, because I wasn't there to permit an action and it timed out. What can I do?&lt;br /&gt;
&lt;br /&gt;
'''A1''' - The best thing is to disable stuff like Defense+ (put it in learning mode works) because it will stop any process that is not approved, and building makes new files which can't be approved before they're built. Disabling Comodo's Defense+ does not disable your firewall, either inbound or outbound, but just the part that scans every application for suspicious operations. Other firewalls etc may vary.&lt;br /&gt;
&lt;br /&gt;
'''A2''' - If that doesn't suit, often you can simply run btool again and wait for Defense+ (or similar) to ask for approval for the process, and it will then continue as normal with the build. But remember that approving all the processes involved in the build process once doesn't mean they will all slip through next time.&lt;br /&gt;
&lt;br /&gt;
'''A3''' - This is the more complex way to continue, but may help if you have problems with A2. If you know the stage the process was meant to be up to (look at the output in the command windows and compare to the stages in the ''build.xml'' file), you can start again from there.&lt;br /&gt;
&lt;br /&gt;
You may see something like this in the command window;&lt;br /&gt;
     =============================&lt;br /&gt;
     ## Target : link : link objects and library to create executable&lt;br /&gt;
     ---- task : rc&lt;br /&gt;
     ============ cmd ============&lt;br /&gt;
     windres -o build/inkres.o --include-dir=src src/inkscape.rc&lt;br /&gt;
     =============================&lt;br /&gt;
     ---- task : link&lt;br /&gt;
This will likely be followed by an error message. This means you were at the ''link'' stage&lt;br /&gt;
&lt;br /&gt;
Now simply type;&lt;br /&gt;
     ...&amp;gt;btool ''stage''&lt;br /&gt;
Or in this case&lt;br /&gt;
     ...&amp;gt;btool link&lt;br /&gt;
And the build will continue from there.&lt;br /&gt;
&lt;br /&gt;
After this, you will probably have to step through the remaining stages manually, one by one. The stages can include (see build.xml, where each stage is labelled 'target name=&amp;quot;''target''&amp;quot;') ''init'', ''touchabout'', ''compile'', ''java'', ''lib'', ''i18n'', ''link'', ''linkinkview'', ''dist'', ''dist-all'', ''clean''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q''' - How do I rebuild just one ''file.o'' file? For instance if one particular file has gone wrong, or I want to try patching just one part of the code.&lt;br /&gt;
&lt;br /&gt;
'''A''' - To find the right command for building any particular file in Inkscape, just look in the compile.lst after you have used btool once. Search for the name of the particular file (eg: print.cpp) and you will find the command used to compile it. You'll need to paste this into a text file, remove any carriage reurns and then paste that onto the command line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q''' - After I patched a file, I left a backup of the old file in the same directory called Copy of{filename}.cpp. The compiler complains about this file when building and stops.&lt;br /&gt;
&lt;br /&gt;
'''A''' - Do not leave anything with a suffix .cpp in the source directories, apart from the original (or patched) source files. The build tool will try to compile everything ending in .cpp and will complain. If you backup an old file in the same directory before patching, call it {filename}.cpp.old or similar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q''' - I think I followed the instruction above. What could have caused the compiling error like this for src/extension/internal/pdfinput/pdf-parser.cpp?&lt;br /&gt;
&lt;br /&gt;
     src/extension/internal/pdfinput/pdf-parser.cpp:2248: error: no matching function for call to 'GfxFont::getNextChar(char*&amp;amp;, int&amp;amp;, CharCode*, Unicode [8], int, int*, double*, double*, double*, double*)'&lt;br /&gt;
&lt;br /&gt;
Same error for line 2297 as well.&lt;br /&gt;
&lt;br /&gt;
=== For more information ===&lt;br /&gt;
There is some old information on building Inkscape with either Mingw on Windows, or a cross-compiler on Linux, at http://inkscape.modevia.com/win32_inkscape_org/win32buildnotes.html&lt;br /&gt;
and old files mey be&lt;br /&gt;
http://inkscape.modevia.com/win32libs/&lt;br /&gt;
== Creating an installer ==&lt;br /&gt;
&lt;br /&gt;
To create the '''inkscape-$RELEASE-win32.exe''' setup package you need the '''NSIS''' installer on your PC. Get that from http://nsis.sf.net .&lt;br /&gt;
You have successfully built Inkscape and everything is in the ...\inkscape\ directory.&lt;br /&gt;
Open the ...\packaging\win32\inkscape.nsi using the NSIS program and compile the package. Sooo easy :-)&lt;br /&gt;
&lt;br /&gt;
The new wix installer in the packaging\wix directory creates msi packages. You need the '''windows installer XML''' package; get it from here http://wixtoolset.org/. Follow the instructions in the README file in the packaging\wix directory. The installer scripts parse version information from the inkscape.rc file. The generated packed is named as:&lt;br /&gt;
&lt;br /&gt;
   '''inkscape-$RELEASE.msi'''&lt;br /&gt;
&lt;br /&gt;
== Note about Unicode ==&lt;br /&gt;
&lt;br /&gt;
The GTK stack depends on functions only present in NT-based Windows (2000 and later). Therefore, Inkscape code can assume that Unicode functions from the Windows API (like GetCommandLineW) are always present. Note however that you should use the GLib/GTK functions rather the Windows API whenever possible.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
*[[Compiling Inkscape]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape_on_Windows_32-bit&amp;diff=95906</id>
		<title>Compiling Inkscape on Windows 32-bit</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape_on_Windows_32-bit&amp;diff=95906"/>
		<updated>2015-03-04T08:45:11Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Building Inkscape */  rephrase&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''For 64 bit: see [[Compiling Inkscape on Windows 64-bit]]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Inkscape was originally written for Linux, but it has been ported to other platforms, including Windows. Since Windows is not POSIX compliant and doesn't have several features useful to developers (like package management), compiling Inkscape on Windows is more tedious than on Linux, but perfectly possible. To make it easier, we have compiled a package that contains all the libraries you need to build Inkscape. This reduces the effort of compiling Inkscape to: download and install 3 programs, download library package, download sourcecode, and you are ready to go.&lt;br /&gt;
&lt;br /&gt;
==Setting up the build environment==&lt;br /&gt;
&lt;br /&gt;
To develop Inkscape, you will need the following things:&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.bazaar.canonical.com/WindowsDownloads Bazaar]&lt;br /&gt;
* [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY] programs: puttygen.exe and pageant.exe&lt;br /&gt;
* TDM's GCC (MingW): Please use exactly the [http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/Previous/1.1006.0/tdm-gcc-4.6.1.exe/download  version 4.6.1 32bit bundle installer] and follow the instructions below. In the setup, '''Uncheck''' the [''Check for updated files on the TDM-GCC server''] when installing, or it will install a newer version. Newer versions (tdm-gcc-4.7+) introduce important changes in gcc and don't work with the current Inkscape devlibs (see [http://old.nabble.com/Compiling-on-Windows-7-x64-td34601489.html developpers' list discussion]).&lt;br /&gt;
* Launchpad account&lt;br /&gt;
&lt;br /&gt;
In order to build the installer (not needed for most developers):&lt;br /&gt;
* [http://sourceforge.net/projects/nsis/files/NSIS%202/2.46/nsis-2.46-setup.exe/download NSIS 2.46]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Install the compiler===&lt;br /&gt;
Run the TDM-MinGW installer:&lt;br /&gt;
# Install in a path that doesn't contain spaces. The path 'C:\mingw' is ideal beacuse it is currently set in the &amp;lt;tt&amp;gt;mingwenv.bat&amp;lt;/tt&amp;gt; file (along with the location of devlibs).&lt;br /&gt;
#* TDM-MinGW's default install option may be to a different location. You will have to edit the &amp;lt;tt&amp;gt;mingwenv.bat&amp;lt;/tt&amp;gt; file to point there.&lt;br /&gt;
#* If you install it into another path, set the environment variable MINGW_PATH to the TDM-MinGW installation directory, e.g. the one containing &amp;lt;tt&amp;gt;README-tdm-gcc.txt&amp;lt;/tt&amp;gt; (right click My Computer -&amp;gt; Properties -&amp;gt; Advanced -&amp;gt; Environment Variables).&lt;br /&gt;
# Be sure to enable the &amp;quot;GCC -&amp;gt; openmp support&amp;quot; checkbox from the components list&lt;br /&gt;
&lt;br /&gt;
===Create your Launchpad account===&lt;br /&gt;
You can skip this step (or do it later) if you just want to download the sources, but not submit your changes.&lt;br /&gt;
&lt;br /&gt;
If you do not have an SSH public/private key pair to identify yourself:&lt;br /&gt;
*run the program puttygen.exe to generate an SSH key&lt;br /&gt;
*save both its parts.&lt;br /&gt;
Log into your Launchpad account, go to your profile page and add the public part of the generated key to the list of SSH keys. Run the program pageant.exe (you can add it to Autorun). A tray icon should appear. Right click it, select &amp;quot;Add Key&amp;quot; and pick the private key file you have just generated from the dialog. Note that you need to repeat this after every login whenever you want to access Launchpad.&lt;br /&gt;
&lt;br /&gt;
Now set up Bazaar. First tell it who you are, then associate with your Launchpad account. You need to use the account name (e.g. johnq), not the display name.(John Q. Public).&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt; bzr whoami &amp;quot;''Your Name'' &amp;lt;''your_real_email@example.com''&amp;gt;&amp;quot;&lt;br /&gt;
 C:\&amp;gt; bzr launchpad-login ''your_launchpad_account''&lt;br /&gt;
&lt;br /&gt;
===Install the developer libraries===&lt;br /&gt;
Check out Inkscape Devlibs into C:\devlibs. If you check them out elsewhere, set the environment variable DEVLIBS_PATH to the path where they are. Devlibs are a bundle of all the libraries needed to compile Inkscape. If you experience any problems, make sure you have an up to date copy of those libraries and an up to date checkout of Inkscape source. To reduce the size of the download, pass the &amp;lt;tt&amp;gt;--lightweight&amp;lt;/tt&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt; bzr checkout --lightweight lp:inkscape-devlibs devlibs&lt;br /&gt;
&lt;br /&gt;
To update devlibs:&lt;br /&gt;
&lt;br /&gt;
 C:\devlibs&amp;gt; bzr update&lt;br /&gt;
&lt;br /&gt;
All Inkscape developers can commit to the devlibs trunk. Advanced information about Devlibs, mainy useful when you want to update them to newly released versions of upstream libraries, is available here: [[Inkscape Devlibs]].&lt;br /&gt;
You can see some infomation from [https://launchpad.net/inkscape-devlibs launchpad:inkscape-devlibs] and [http://bazaar.launchpad.net/~inkscape.dev/inkscape-devlibs/trunk/files trunk/files].&lt;br /&gt;
&lt;br /&gt;
== Obtaining Inkscape source code ==&lt;br /&gt;
&lt;br /&gt;
You can obtain released Inkscape source from a tarball. Since version 0.47 they are hosted on [https://launchpad.net/inkscape Inkscape's Launchpad page]. There are ready-made installers provided, so there's usually little reason to compile the stable version yourself.&lt;br /&gt;
&lt;br /&gt;
To obtain cutting edge code, check out Inkscape source from the Bazaar repository. You can also use the TortoiseBZR shell extensions to do this. The recommended way is to first create a shared repository, then check out the Inkscape branch into that shared repository. Using this setup, branching will be a lot faster.&lt;br /&gt;
&lt;br /&gt;
 C:\src\inkscape&amp;gt; bzr init-repo --rich-root .&lt;br /&gt;
 C:\src\inkscape&amp;gt; bzr upgrade&lt;br /&gt;
 C:\src\inkscape&amp;gt; bzr checkout lp:inkscape trunk&lt;br /&gt;
&lt;br /&gt;
If you don't want to create any branches, you can skip the shared repository step.&lt;br /&gt;
&lt;br /&gt;
 C:\src&amp;gt; bzr checkout lp:inkscape&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' make sure that the path to your Inkscape source checkout does not contain spaces. Unix tools do not like them and you will end up with a lot of error messages about missing files.&lt;br /&gt;
&lt;br /&gt;
== Building Inkscape ==&lt;br /&gt;
&lt;br /&gt;
Now set up the environmental variables. You need to run mingwenv once per console session, or set the paths in Windows system settings.&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; mingwenv&lt;br /&gt;
&lt;br /&gt;
Now compile the build tool. (Try the following command one by one. if that command fails)&lt;br /&gt;
&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; g++ buildtool.cpp -o btool&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; g++ buildtool.cpp -o btool -fopenmp&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; g++ -DNEED_GETTIMEOFDAY buildtool.cpp -o btool -fopenmp&lt;br /&gt;
&lt;br /&gt;
Finally initiate the compilation. Get a coffee or take your dog out for a walk, because it will take a rather long time. If you have a multicore processor, add &amp;quot;-j 8&amp;quot; to use (for example) 8 parallel compilation threads.&lt;br /&gt;
&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; btool -j 8&lt;br /&gt;
&lt;br /&gt;
Once everything is done, there should be an &amp;lt;tt&amp;gt;inkscape&amp;lt;/tt&amp;gt; directory that contains the Inkscape executable and libraries needed to run it.&lt;br /&gt;
&lt;br /&gt;
== Rebuilding ==&lt;br /&gt;
&lt;br /&gt;
If you have only changed a few files and want to rebuild, delete the &amp;lt;tt&amp;gt;inkscape&amp;lt;/tt&amp;gt; directory and run &amp;lt;tt&amp;gt;btool&amp;lt;/tt&amp;gt; again.&lt;br /&gt;
&lt;br /&gt;
To rebuild from scratch, execute the following sequence of commands:&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; btool clean&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; btool&lt;br /&gt;
&lt;br /&gt;
== Dealing With Build Errors ==&lt;br /&gt;
Feel free to add any questions or answers you have in here;&lt;br /&gt;
&lt;br /&gt;
'''Q''' - My firewall software (Comodo's Defense+ component or similar) stopped the process continuing to the next step in the build, because I wasn't there to permit an action and it timed out. What can I do?&lt;br /&gt;
&lt;br /&gt;
'''A1''' - The best thing is to disable stuff like Defense+ (put it in learning mode works) because it will stop any process that is not approved, and building makes new files which can't be approved before they're built. Disabling Comodo's Defense+ does not disable your firewall, either inbound or outbound, but just the part that scans every application for suspicious operations. Other firewalls etc may vary.&lt;br /&gt;
&lt;br /&gt;
'''A2''' - If that doesn't suit, often you can simply run btool again and wait for Defense+ (or similar) to ask for approval for the process, and it will then continue as normal with the build. But remember that approving all the processes involved in the build process once doesn't mean they will all slip through next time.&lt;br /&gt;
&lt;br /&gt;
'''A3''' - This is the more complex way to continue, but may help if you have problems with A2. If you know the stage the process was meant to be up to (look at the output in the command windows and compare to the stages in the ''build.xml'' file), you can start again from there.&lt;br /&gt;
&lt;br /&gt;
You may see something like this in the command window;&lt;br /&gt;
     =============================&lt;br /&gt;
     ## Target : link : link objects and library to create executable&lt;br /&gt;
     ---- task : rc&lt;br /&gt;
     ============ cmd ============&lt;br /&gt;
     windres -o build/inkres.o --include-dir=src src/inkscape.rc&lt;br /&gt;
     =============================&lt;br /&gt;
     ---- task : link&lt;br /&gt;
This will likely be followed by an error message. This means you were at the ''link'' stage&lt;br /&gt;
&lt;br /&gt;
Now simply type;&lt;br /&gt;
     ...&amp;gt;btool ''stage''&lt;br /&gt;
Or in this case&lt;br /&gt;
     ...&amp;gt;btool link&lt;br /&gt;
And the build will continue from there.&lt;br /&gt;
&lt;br /&gt;
After this, you will probably have to step through the remaining stages manually, one by one. The stages can include (see build.xml, where each stage is labelled 'target name=&amp;quot;''target''&amp;quot;') ''init'', ''touchabout'', ''compile'', ''java'', ''lib'', ''i18n'', ''link'', ''linkinkview'', ''dist'', ''dist-all'', ''clean''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q''' - How do I rebuild just one ''file.o'' file? For instance if one particular file has gone wrong, or I want to try patching just one part of the code.&lt;br /&gt;
&lt;br /&gt;
'''A''' - To find the right command for building any particular file in Inkscape, just look in the compile.lst after you have used btool once. Search for the name of the particular file (eg: print.cpp) and you will find the command used to compile it. You'll need to paste this into a text file, remove any carriage reurns and then paste that onto the command line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q''' - After I patched a file, I left a backup of the old file in the same directory called Copy of{filename}.cpp. The compiler complains about this file when building and stops.&lt;br /&gt;
&lt;br /&gt;
'''A''' - Do not leave anything with a suffix .cpp in the source directories, apart from the original (or patched) source files. The build tool will try to compile everything ending in .cpp and will complain. If you backup an old file in the same directory before patching, call it {filename}.cpp.old or similar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q''' - I think I followed the instruction above. What could have caused the compiling error like this for src/extension/internal/pdfinput/pdf-parser.cpp?&lt;br /&gt;
&lt;br /&gt;
     src/extension/internal/pdfinput/pdf-parser.cpp:2248: error: no matching function for call to 'GfxFont::getNextChar(char*&amp;amp;, int&amp;amp;, CharCode*, Unicode [8], int, int*, double*, double*, double*, double*)'&lt;br /&gt;
&lt;br /&gt;
Same error for line 2297 as well.&lt;br /&gt;
&lt;br /&gt;
=== For more information ===&lt;br /&gt;
There is some old information on building Inkscape with either Mingw on Windows, or a cross-compiler on Linux, at http://inkscape.modevia.com/win32_inkscape_org/win32buildnotes.html&lt;br /&gt;
and old files mey be&lt;br /&gt;
http://inkscape.modevia.com/win32libs/&lt;br /&gt;
== Creating an installer ==&lt;br /&gt;
&lt;br /&gt;
To create the '''inkscape-$RELEASE-win32.exe''' setup package you need the '''NSIS''' installer on your PC. Get that from http://nsis.sf.net .&lt;br /&gt;
You have successfully built Inkscape and everything is in the ...\inkscape\ directory.&lt;br /&gt;
Open the ...\packaging\win32\inkscape.nsi using the NSIS program and compile the package. Sooo easy :-)&lt;br /&gt;
&lt;br /&gt;
The new wix installer in the packaging\wix directory creates msi packages. You need the '''windows installer XML''' package; get it from here http://wixtoolset.org/. Follow the instructions in the README file in the packaging\wix directory. The installer scripts parse version information from the inkscape.rc file. The generated packed is named as:&lt;br /&gt;
&lt;br /&gt;
   '''inkscape-$RELEASE.msi'''&lt;br /&gt;
&lt;br /&gt;
== Note about Unicode ==&lt;br /&gt;
&lt;br /&gt;
The GTK stack depends on functions only present in NT-based Windows (2000 and later). Therefore, Inkscape code can assume that Unicode functions from the Windows API (like GetCommandLineW) are always present. Note however that you should use the GLib/GTK functions rather the Windows API whenever possible.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
*[[Compiling Inkscape]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape_on_Windows_32-bit&amp;diff=95900</id>
		<title>Compiling Inkscape on Windows 32-bit</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape_on_Windows_32-bit&amp;diff=95900"/>
		<updated>2015-03-04T07:45:58Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Building Inkscape */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''For 64 bit: see [[Compiling Inkscape on Windows 64-bit]]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Inkscape was originally written for Linux, but it has been ported to other platforms, including Windows. Since Windows is not POSIX compliant and doesn't have several features useful to developers (like package management), compiling Inkscape on Windows is more tedious than on Linux, but perfectly possible. To make it easier, we have compiled a package that contains all the libraries you need to build Inkscape. This reduces the effort of compiling Inkscape to: download and install 3 programs, download library package, download sourcecode, and you are ready to go.&lt;br /&gt;
&lt;br /&gt;
==Setting up the build environment==&lt;br /&gt;
&lt;br /&gt;
To develop Inkscape, you will need the following things:&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.bazaar.canonical.com/WindowsDownloads Bazaar]&lt;br /&gt;
* [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY] programs: puttygen.exe and pageant.exe&lt;br /&gt;
* TDM's GCC (MingW): Please use exactly the [http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/Previous/1.1006.0/tdm-gcc-4.6.1.exe/download  version 4.6.1 32bit bundle installer] and follow the instructions below. In the setup, '''Uncheck''' the [''Check for updated files on the TDM-GCC server''] when installing, or it will install a newer version. Newer versions (tdm-gcc-4.7+) introduce important changes in gcc and don't work with the current Inkscape devlibs (see [http://old.nabble.com/Compiling-on-Windows-7-x64-td34601489.html developpers' list discussion]).&lt;br /&gt;
* Launchpad account&lt;br /&gt;
&lt;br /&gt;
In order to build the installer (not needed for most developers):&lt;br /&gt;
* [http://sourceforge.net/projects/nsis/files/NSIS%202/2.46/nsis-2.46-setup.exe/download NSIS 2.46]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Install the compiler===&lt;br /&gt;
Run the TDM-MinGW installer:&lt;br /&gt;
# Install in a path that doesn't contain spaces. The path 'C:\mingw' is ideal beacuse it is currently set in the &amp;lt;tt&amp;gt;mingwenv.bat&amp;lt;/tt&amp;gt; file (along with the location of devlibs).&lt;br /&gt;
#* TDM-MinGW's default install option may be to a different location. You will have to edit the &amp;lt;tt&amp;gt;mingwenv.bat&amp;lt;/tt&amp;gt; file to point there.&lt;br /&gt;
#* If you install it into another path, set the environment variable MINGW_PATH to the TDM-MinGW installation directory, e.g. the one containing &amp;lt;tt&amp;gt;README-tdm-gcc.txt&amp;lt;/tt&amp;gt; (right click My Computer -&amp;gt; Properties -&amp;gt; Advanced -&amp;gt; Environment Variables).&lt;br /&gt;
# Be sure to enable the &amp;quot;GCC -&amp;gt; openmp support&amp;quot; checkbox from the components list&lt;br /&gt;
&lt;br /&gt;
===Create your Launchpad account===&lt;br /&gt;
You can skip this step (or do it later) if you just want to download the sources, but not submit your changes.&lt;br /&gt;
&lt;br /&gt;
If you do not have an SSH public/private key pair to identify yourself:&lt;br /&gt;
*run the program puttygen.exe to generate an SSH key&lt;br /&gt;
*save both its parts.&lt;br /&gt;
Log into your Launchpad account, go to your profile page and add the public part of the generated key to the list of SSH keys. Run the program pageant.exe (you can add it to Autorun). A tray icon should appear. Right click it, select &amp;quot;Add Key&amp;quot; and pick the private key file you have just generated from the dialog. Note that you need to repeat this after every login whenever you want to access Launchpad.&lt;br /&gt;
&lt;br /&gt;
Now set up Bazaar. First tell it who you are, then associate with your Launchpad account. You need to use the account name (e.g. johnq), not the display name.(John Q. Public).&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt; bzr whoami &amp;quot;''Your Name'' &amp;lt;''your_real_email@example.com''&amp;gt;&amp;quot;&lt;br /&gt;
 C:\&amp;gt; bzr launchpad-login ''your_launchpad_account''&lt;br /&gt;
&lt;br /&gt;
===Install the developer libraries===&lt;br /&gt;
Check out Inkscape Devlibs into C:\devlibs. If you check them out elsewhere, set the environment variable DEVLIBS_PATH to the path where they are. Devlibs are a bundle of all the libraries needed to compile Inkscape. If you experience any problems, make sure you have an up to date copy of those libraries and an up to date checkout of Inkscape source. To reduce the size of the download, pass the &amp;lt;tt&amp;gt;--lightweight&amp;lt;/tt&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
 C:\&amp;gt; bzr checkout --lightweight lp:inkscape-devlibs devlibs&lt;br /&gt;
&lt;br /&gt;
To update devlibs:&lt;br /&gt;
&lt;br /&gt;
 C:\devlibs&amp;gt; bzr update&lt;br /&gt;
&lt;br /&gt;
All Inkscape developers can commit to the devlibs trunk. Advanced information about Devlibs, mainy useful when you want to update them to newly released versions of upstream libraries, is available here: [[Inkscape Devlibs]].&lt;br /&gt;
You can see some infomation from [https://launchpad.net/inkscape-devlibs launchpad:inkscape-devlibs] and [http://bazaar.launchpad.net/~inkscape.dev/inkscape-devlibs/trunk/files trunk/files].&lt;br /&gt;
&lt;br /&gt;
== Obtaining Inkscape source code ==&lt;br /&gt;
&lt;br /&gt;
You can obtain released Inkscape source from a tarball. Since version 0.47 they are hosted on [https://launchpad.net/inkscape Inkscape's Launchpad page]. There are ready-made installers provided, so there's usually little reason to compile the stable version yourself.&lt;br /&gt;
&lt;br /&gt;
To obtain cutting edge code, check out Inkscape source from the Bazaar repository. You can also use the TortoiseBZR shell extensions to do this. The recommended way is to first create a shared repository, then check out the Inkscape branch into that shared repository. Using this setup, branching will be a lot faster.&lt;br /&gt;
&lt;br /&gt;
 C:\src\inkscape&amp;gt; bzr init-repo --rich-root .&lt;br /&gt;
 C:\src\inkscape&amp;gt; bzr upgrade&lt;br /&gt;
 C:\src\inkscape&amp;gt; bzr checkout lp:inkscape trunk&lt;br /&gt;
&lt;br /&gt;
If you don't want to create any branches, you can skip the shared repository step.&lt;br /&gt;
&lt;br /&gt;
 C:\src&amp;gt; bzr checkout lp:inkscape&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' make sure that the path to your Inkscape source checkout does not contain spaces. Unix tools do not like them and you will end up with a lot of error messages about missing files.&lt;br /&gt;
&lt;br /&gt;
== Building Inkscape ==&lt;br /&gt;
&lt;br /&gt;
Open the command prompt, navigate to the directory with Inkscape sources. First set up some environmental variables. You only need to do this once per console session. This will define the location of your downloaded ''MinGW'' and ''devlibs'' so inkscape can find them.&lt;br /&gt;
 #  Make sure you have correct '''DEVLIB_PATH''' and '''MINGW_PATH''' in system or edit and run mingwenv to set the environment variables.&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; mingwenv&lt;br /&gt;
&lt;br /&gt;
Now compile the build tool. (Try the following command one by one. if that command fails)&lt;br /&gt;
&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; g++ buildtool.cpp -o btool&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; g++ buildtool.cpp -o btool -fopenmp&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; g++ -DNEED_GETTIMEOFDAY buildtool.cpp -o btool -fopenmp&lt;br /&gt;
&lt;br /&gt;
Finally initiate the compilation. Get a coffee or take your dog out for a walk, because it will take a rather long time. If you have a multicore processor, add &amp;quot;-j 8&amp;quot; to use (for example) 8 parallel compilation threads.&lt;br /&gt;
&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; btool -j 8&lt;br /&gt;
&lt;br /&gt;
Once everything is done, there should be an &amp;lt;tt&amp;gt;inkscape&amp;lt;/tt&amp;gt; directory that contains the Inkscape executable and libraries needed to run it.&lt;br /&gt;
&lt;br /&gt;
== Rebuilding ==&lt;br /&gt;
&lt;br /&gt;
If you have only changed a few files and want to rebuild, delete the &amp;lt;tt&amp;gt;inkscape&amp;lt;/tt&amp;gt; directory and run &amp;lt;tt&amp;gt;btool&amp;lt;/tt&amp;gt; again.&lt;br /&gt;
&lt;br /&gt;
To rebuild from scratch, execute the following sequence of commands:&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; btool clean&lt;br /&gt;
 C:\src\inkscape\trunk&amp;gt; btool&lt;br /&gt;
&lt;br /&gt;
== Dealing With Build Errors ==&lt;br /&gt;
Feel free to add any questions or answers you have in here;&lt;br /&gt;
&lt;br /&gt;
'''Q''' - My firewall software (Comodo's Defense+ component or similar) stopped the process continuing to the next step in the build, because I wasn't there to permit an action and it timed out. What can I do?&lt;br /&gt;
&lt;br /&gt;
'''A1''' - The best thing is to disable stuff like Defense+ (put it in learning mode works) because it will stop any process that is not approved, and building makes new files which can't be approved before they're built. Disabling Comodo's Defense+ does not disable your firewall, either inbound or outbound, but just the part that scans every application for suspicious operations. Other firewalls etc may vary.&lt;br /&gt;
&lt;br /&gt;
'''A2''' - If that doesn't suit, often you can simply run btool again and wait for Defense+ (or similar) to ask for approval for the process, and it will then continue as normal with the build. But remember that approving all the processes involved in the build process once doesn't mean they will all slip through next time.&lt;br /&gt;
&lt;br /&gt;
'''A3''' - This is the more complex way to continue, but may help if you have problems with A2. If you know the stage the process was meant to be up to (look at the output in the command windows and compare to the stages in the ''build.xml'' file), you can start again from there.&lt;br /&gt;
&lt;br /&gt;
You may see something like this in the command window;&lt;br /&gt;
     =============================&lt;br /&gt;
     ## Target : link : link objects and library to create executable&lt;br /&gt;
     ---- task : rc&lt;br /&gt;
     ============ cmd ============&lt;br /&gt;
     windres -o build/inkres.o --include-dir=src src/inkscape.rc&lt;br /&gt;
     =============================&lt;br /&gt;
     ---- task : link&lt;br /&gt;
This will likely be followed by an error message. This means you were at the ''link'' stage&lt;br /&gt;
&lt;br /&gt;
Now simply type;&lt;br /&gt;
     ...&amp;gt;btool ''stage''&lt;br /&gt;
Or in this case&lt;br /&gt;
     ...&amp;gt;btool link&lt;br /&gt;
And the build will continue from there.&lt;br /&gt;
&lt;br /&gt;
After this, you will probably have to step through the remaining stages manually, one by one. The stages can include (see build.xml, where each stage is labelled 'target name=&amp;quot;''target''&amp;quot;') ''init'', ''touchabout'', ''compile'', ''java'', ''lib'', ''i18n'', ''link'', ''linkinkview'', ''dist'', ''dist-all'', ''clean''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q''' - How do I rebuild just one ''file.o'' file? For instance if one particular file has gone wrong, or I want to try patching just one part of the code.&lt;br /&gt;
&lt;br /&gt;
'''A''' - To find the right command for building any particular file in Inkscape, just look in the compile.lst after you have used btool once. Search for the name of the particular file (eg: print.cpp) and you will find the command used to compile it. You'll need to paste this into a text file, remove any carriage reurns and then paste that onto the command line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q''' - After I patched a file, I left a backup of the old file in the same directory called Copy of{filename}.cpp. The compiler complains about this file when building and stops.&lt;br /&gt;
&lt;br /&gt;
'''A''' - Do not leave anything with a suffix .cpp in the source directories, apart from the original (or patched) source files. The build tool will try to compile everything ending in .cpp and will complain. If you backup an old file in the same directory before patching, call it {filename}.cpp.old or similar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Q''' - I think I followed the instruction above. What could have caused the compiling error like this for src/extension/internal/pdfinput/pdf-parser.cpp?&lt;br /&gt;
&lt;br /&gt;
     src/extension/internal/pdfinput/pdf-parser.cpp:2248: error: no matching function for call to 'GfxFont::getNextChar(char*&amp;amp;, int&amp;amp;, CharCode*, Unicode [8], int, int*, double*, double*, double*, double*)'&lt;br /&gt;
&lt;br /&gt;
Same error for line 2297 as well.&lt;br /&gt;
&lt;br /&gt;
=== For more information ===&lt;br /&gt;
There is some old information on building Inkscape with either Mingw on Windows, or a cross-compiler on Linux, at http://inkscape.modevia.com/win32_inkscape_org/win32buildnotes.html&lt;br /&gt;
and old files mey be&lt;br /&gt;
http://inkscape.modevia.com/win32libs/&lt;br /&gt;
== Creating an installer ==&lt;br /&gt;
&lt;br /&gt;
To create the '''inkscape-$RELEASE-win32.exe''' setup package you need the '''NSIS''' installer on your PC. Get that from http://nsis.sf.net .&lt;br /&gt;
You have successfully built Inkscape and everything is in the ...\inkscape\ directory.&lt;br /&gt;
Open the ...\packaging\win32\inkscape.nsi using the NSIS program and compile the package. Sooo easy :-)&lt;br /&gt;
&lt;br /&gt;
The new wix installer in the packaging\wix directory creates msi packages. You need the '''windows installer XML''' package; get it from here http://wixtoolset.org/. Follow the instructions in the README file in the packaging\wix directory. The installer scripts parse version information from the inkscape.rc file. The generated packed is named as:&lt;br /&gt;
&lt;br /&gt;
   '''inkscape-$RELEASE.msi'''&lt;br /&gt;
&lt;br /&gt;
== Note about Unicode ==&lt;br /&gt;
&lt;br /&gt;
The GTK stack depends on functions only present in NT-based Windows (2000 and later). Therefore, Inkscape code can assume that Unicode functions from the Windows API (like GetCommandLineW) are always present. Note however that you should use the GLib/GTK functions rather the Windows API whenever possible.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
*[[Compiling Inkscape]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Eclipse&amp;diff=95894</id>
		<title>Using Eclipse</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Eclipse&amp;diff=95894"/>
		<updated>2015-03-04T06:17:37Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: added needs_update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Needs_update}}&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The instructions in this wiki are out of date and do not work anymore. This page is just a reference as it might provide you with a clue on how to get it to work. If you manage to get compiling and debugging to work under Windows using Eclipse, please modify this page accordingly.&lt;br /&gt;
&lt;br /&gt;
Eclipse is a popular development tool used primarily with Java; however, C/C++ development can also be done.  This page will help you set up Eclipse for coding, building, and debugging Inkscape.&lt;br /&gt;
&lt;br /&gt;
= Eclipse on Fedora =&lt;br /&gt;
&lt;br /&gt;
# Follow the ''Installation'' and ''Configuration'' steps of guide [http://wiki.bazaar.canaonical.com/BzrEclipse BzrEclipse] but be carefull:&lt;br /&gt;
#* At this moment, this How to is for a previous version of Eclipse (some dialogs and menus have changed)&lt;br /&gt;
#* ''bzr-xmloutput'' must be decompress in a folder named exactly ''xmloutput'' in Bazaar plugins directory&lt;br /&gt;
&lt;br /&gt;
= Setup project in Eclipse =&lt;br /&gt;
&lt;br /&gt;
Following steps are equivalent to:&lt;br /&gt;
&lt;br /&gt;
 checkout lp:inkscape /home/{USER_NAME}/workspace/Inkscape&lt;br /&gt;
&lt;br /&gt;
In Eclipse:&lt;br /&gt;
&lt;br /&gt;
# File &amp;gt; New &amp;gt; Project...&lt;br /&gt;
# Select Bazaar &amp;gt; Checkout as a new project&lt;br /&gt;
# Select ''Initialize a new branch location''&lt;br /&gt;
# Set ''Branch location'' to ''lp:inkscape''&lt;br /&gt;
# Select ''Create a project''&lt;br /&gt;
# Set ''Project name'' to ''Inkscape''&lt;br /&gt;
&lt;br /&gt;
After quite a long time working, the Inkscape project appears in the Eclipse Explorer.&lt;br /&gt;
&lt;br /&gt;
= Eclipse on Windows =&lt;br /&gt;
&lt;br /&gt;
Running Eclipse provides a relatively easy and familiar way to work with Inkscape code on Windows.  This section will explain how to make it happen.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Some of these instructions may be applicable to development on Mac or Linux.  Feel free to refactor them if you are adding information for those platforms.&lt;br /&gt;
&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
&lt;br /&gt;
First, make sure Inkscape compiles under windows using the command line to verify the source and dependencies are installed correctly. Follow the instructions on the [[Win32Port]] page under the heading '''Inkscape under Windows'''.&lt;br /&gt;
&lt;br /&gt;
If you don't have Eclipse, [http://www.eclipse.org/downloads/ get it].  Check out the [http://help.eclipse.org/help32/index.jsp online help] if needed.&lt;br /&gt;
&lt;br /&gt;
Next, you need to set up the necessary add-ons.  Most important is the [http://www.eclipse.org/cdt/downloads.php CDT plug-in] which facilitates C/C++ development.  You may also wish to add [http://subclipse.tigris.org/install.html Subclipse] for SVN access within Eclipse.  Alternatively, many Windows users prefer to use [http://tortoisesvn.net/downloads TortoiseSVN], which works with Windows Explorer.&lt;br /&gt;
&lt;br /&gt;
== Creating a Project ==&lt;br /&gt;
&lt;br /&gt;
=== Subclipse (Outdated as version control is provided by Bazaar now) ===&lt;br /&gt;
&lt;br /&gt;
The next step is to get the source code ready for use in Eclipse.  Check [[WorkingWithSVN | here]] for general instructions for working with SVN; in this section, the aim is to show how to check out the code using Subclipse.&lt;br /&gt;
&lt;br /&gt;
In Eclipse, we want the SVN perspective to be open.  Click '''Window &amp;gt; Open Perspective &amp;gt; Other'''.  Choose '''SVN Repository Exploring''' and click ok.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-01.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''SVN Repository''' tab, right click and choose '''New &amp;gt; Repository Location...'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-02.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''Location Url:''' box, paste the link https://inkscape.svn.sourceforge.net/svnroot/inkscape/inkscape/trunk and click finish.  This location will now show in the '''SVN Repository''' tab.  You can expand the tree to see what is on the server.&lt;br /&gt;
&lt;br /&gt;
Now right click the location name (which is really just the link given above), and click '''Checkout...'''.  Choose '''Check out as a project configured using the New Project Wizard''' and the revision you want (probably Head), and click '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
In the New Project window that appears, choose '''C++ Project''' in Eclipse Europa (or in Callisto '''Standard Make C++ Project''') and click '''Next'''.&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-Europa-ProjectType.png]]&lt;br /&gt;
&lt;br /&gt;
Give your project a name such as InkscapeSVN.  Uncheck the '''Use default location''' box so you can provide a better project location outside of your workspace, such as C:\InkscapeSVN. Select '''Executable (XL C/C++)''' as the project type, and '''XL C/C++ Tool Chain''' as the the Toolchain (this will not be necessary in Callisto (or before?) as this has been already been specified by selecting '''Standard Make C++ Project'''). Click '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-Europa-CppProjectType.png]]&lt;br /&gt;
&lt;br /&gt;
The source code will now be checked out - this may take a while. You will also now have a project in the '''C/C++ Perspective''' with whatever name you provided earlier.&lt;br /&gt;
&lt;br /&gt;
=== TortoiseSVN (Outdated as version control is provided by Bazaar now) ===&lt;br /&gt;
&lt;br /&gt;
To use TortoiseSVN instead of Subclipse to check out your project, open a Windows Explorer instance.  Right click anywhere outside of an existing SVN tree and choose '''SVN Checkout...'''.  Specify the link given above and the destination directory.&lt;br /&gt;
&lt;br /&gt;
To get a project in Eclipse, go to the '''C/C++ Perspective'''.&lt;br /&gt;
&lt;br /&gt;
In Eclipse Europa select '''File &amp;gt; New &amp;gt; C++ Project'''. Choose a project type of '''Executable (XL C/C++)'''.&lt;br /&gt;
&lt;br /&gt;
In Eclipse Calisto right click in the '''C/C++ Projects''' tab, and choose '''New &amp;gt; Project...''' and in the window choose '''Standard Make C++ Project.'''&lt;br /&gt;
&lt;br /&gt;
Give the project a name, and uncheck the '''Use default location''' box.  You must give the location that you checked the code out into here.&lt;br /&gt;
&lt;br /&gt;
At this point, you will be able to use TortoiseSVN or Subclipse within Eclipse to control the source.&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE FOR LINUX USERS''' For building, you can probably get away with running './autogen.sh' then './configure' from the directory containing your copy of the repository. You can then create a 'Builder' which contains Makefile as Main-Location.&lt;br /&gt;
&lt;br /&gt;
Be sure you have the btool built and ready to go, as outlined on the [[Win32Port]] page.  You can build Inkscape from the command line or initiate it from within Eclipse, which will capture the output for you.&lt;br /&gt;
&lt;br /&gt;
To set up Eclipse to do this, make sure you are in the '''C/C++ Perspective''' and that your project is open.  Right click on the project name and click '''Properties'''.  Click on '''Builders'''.  Uncheck any builders that are there since we will be using the custom btool.  Click '''New...''' and select '''Program'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-04.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''Main''' tab, browse the workspace for the location of the btool.exe file.  Browse the workspace again to set the working directory to the main project directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-05.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now go to the '''Environment Tab''' and add a new variable called path.  Add the same thing that appears in your mingenv.bat file here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-06.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-07.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on '''C/C++ Project Paths''' and then the tab '''Path Containers'''.  Click '''Add...''', choose '''Discovered scanner configuration container''', '''Next''', '''Discovered Paths''', and '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
Now go to '''C/C++ Include Paths and Symbols'''.  Click '''Add Contributed''' and choose the '''Discovered scanner configuration container''', then '''Discovered Paths'''.  Then click '''Add External Include Path''' and add the path to your GTK folder (probably something like c:\gtk210).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-08.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to use the '''Project &amp;gt; Build All''' command, capturing the output onto Eclipse's console.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
&lt;br /&gt;
You need to make a couple of changes to the build.xml file and do a clean rebuild.  First, add -g to the flags section:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;flags&amp;gt;&lt;br /&gt;
      -Wall -O3&lt;br /&gt;
      -mms-bitfields&lt;br /&gt;
      '''-g'''&lt;br /&gt;
  &amp;lt;/flags&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then avoid stripping symbol information from the exe by changing this line&lt;br /&gt;
      strip=&amp;quot;'''true'''&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
with this one&lt;br /&gt;
      strip=&amp;quot;'''false'''&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now you need to create a debugging instance in Eclipse.  Click '''Run &amp;gt; Debug...'''.  Click on '''C/C++ Local Application''' and then click the new button.  Give the launch configuration a logical name such as Inkscape Debug.&lt;br /&gt;
&lt;br /&gt;
These screenshots show you the values you have to change in each tab.  Nothing else needs to change.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-09.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-10.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you can launch this new configuration and debug away!&lt;br /&gt;
&lt;br /&gt;
(Don't worry about funny warnings about files or folders not existing - it doesn't seem to affect the use of the debugger.  However, if you know how to fix it, please replace this comment with instructions.)&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Eclipse&amp;diff=95888</id>
		<title>Using Eclipse</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Eclipse&amp;diff=95888"/>
		<updated>2015-03-04T02:14:36Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: minor formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Note:''' The instructions in this wiki are out of date and do not work anymore. This page is just a reference as it might provide you with a clue on how to get it to work. If you manage to get compiling and debugging to work under Windows using Eclipse, please modify this page accordingly.&lt;br /&gt;
&lt;br /&gt;
Eclipse is a popular development tool used primarily with Java; however, C/C++ development can also be done.  This page will help you set up Eclipse for coding, building, and debugging Inkscape.&lt;br /&gt;
&lt;br /&gt;
= Eclipse on Fedora =&lt;br /&gt;
&lt;br /&gt;
# Follow the ''Installation'' and ''Configuration'' steps of guide [http://wiki.bazaar.canaonical.com/BzrEclipse BzrEclipse] but be carefull:&lt;br /&gt;
#* At this moment, this How to is for a previous version of Eclipse (some dialogs and menus have changed)&lt;br /&gt;
#* ''bzr-xmloutput'' must be decompress in a folder named exactly ''xmloutput'' in Bazaar plugins directory&lt;br /&gt;
&lt;br /&gt;
= Setup project in Eclipse =&lt;br /&gt;
&lt;br /&gt;
Following steps are equivalent to:&lt;br /&gt;
&lt;br /&gt;
 checkout lp:inkscape /home/{USER_NAME}/workspace/Inkscape&lt;br /&gt;
&lt;br /&gt;
In Eclipse:&lt;br /&gt;
&lt;br /&gt;
# File &amp;gt; New &amp;gt; Project...&lt;br /&gt;
# Select Bazaar &amp;gt; Checkout as a new project&lt;br /&gt;
# Select ''Initialize a new branch location''&lt;br /&gt;
# Set ''Branch location'' to ''lp:inkscape''&lt;br /&gt;
# Select ''Create a project''&lt;br /&gt;
# Set ''Project name'' to ''Inkscape''&lt;br /&gt;
&lt;br /&gt;
After quite a long time working, the Inkscape project appears in the Eclipse Explorer.&lt;br /&gt;
&lt;br /&gt;
= Eclipse on Windows =&lt;br /&gt;
&lt;br /&gt;
Running Eclipse provides a relatively easy and familiar way to work with Inkscape code on Windows.  This section will explain how to make it happen.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Some of these instructions may be applicable to development on Mac or Linux.  Feel free to refactor them if you are adding information for those platforms.&lt;br /&gt;
&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
&lt;br /&gt;
First, make sure Inkscape compiles under windows using the command line to verify the source and dependencies are installed correctly. Follow the instructions on the [[Win32Port]] page under the heading '''Inkscape under Windows'''.&lt;br /&gt;
&lt;br /&gt;
If you don't have Eclipse, [http://www.eclipse.org/downloads/ get it].  Check out the [http://help.eclipse.org/help32/index.jsp online help] if needed.&lt;br /&gt;
&lt;br /&gt;
Next, you need to set up the necessary add-ons.  Most important is the [http://www.eclipse.org/cdt/downloads.php CDT plug-in] which facilitates C/C++ development.  You may also wish to add [http://subclipse.tigris.org/install.html Subclipse] for SVN access within Eclipse.  Alternatively, many Windows users prefer to use [http://tortoisesvn.net/downloads TortoiseSVN], which works with Windows Explorer.&lt;br /&gt;
&lt;br /&gt;
== Creating a Project ==&lt;br /&gt;
&lt;br /&gt;
=== Subclipse (Outdated as version control is provided by Bazaar now) ===&lt;br /&gt;
&lt;br /&gt;
The next step is to get the source code ready for use in Eclipse.  Check [[WorkingWithSVN | here]] for general instructions for working with SVN; in this section, the aim is to show how to check out the code using Subclipse.&lt;br /&gt;
&lt;br /&gt;
In Eclipse, we want the SVN perspective to be open.  Click '''Window &amp;gt; Open Perspective &amp;gt; Other'''.  Choose '''SVN Repository Exploring''' and click ok.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-01.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''SVN Repository''' tab, right click and choose '''New &amp;gt; Repository Location...'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-02.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''Location Url:''' box, paste the link https://inkscape.svn.sourceforge.net/svnroot/inkscape/inkscape/trunk and click finish.  This location will now show in the '''SVN Repository''' tab.  You can expand the tree to see what is on the server.&lt;br /&gt;
&lt;br /&gt;
Now right click the location name (which is really just the link given above), and click '''Checkout...'''.  Choose '''Check out as a project configured using the New Project Wizard''' and the revision you want (probably Head), and click '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
In the New Project window that appears, choose '''C++ Project''' in Eclipse Europa (or in Callisto '''Standard Make C++ Project''') and click '''Next'''.&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-Europa-ProjectType.png]]&lt;br /&gt;
&lt;br /&gt;
Give your project a name such as InkscapeSVN.  Uncheck the '''Use default location''' box so you can provide a better project location outside of your workspace, such as C:\InkscapeSVN. Select '''Executable (XL C/C++)''' as the project type, and '''XL C/C++ Tool Chain''' as the the Toolchain (this will not be necessary in Callisto (or before?) as this has been already been specified by selecting '''Standard Make C++ Project'''). Click '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-Europa-CppProjectType.png]]&lt;br /&gt;
&lt;br /&gt;
The source code will now be checked out - this may take a while. You will also now have a project in the '''C/C++ Perspective''' with whatever name you provided earlier.&lt;br /&gt;
&lt;br /&gt;
=== TortoiseSVN (Outdated as version control is provided by Bazaar now) ===&lt;br /&gt;
&lt;br /&gt;
To use TortoiseSVN instead of Subclipse to check out your project, open a Windows Explorer instance.  Right click anywhere outside of an existing SVN tree and choose '''SVN Checkout...'''.  Specify the link given above and the destination directory.&lt;br /&gt;
&lt;br /&gt;
To get a project in Eclipse, go to the '''C/C++ Perspective'''.&lt;br /&gt;
&lt;br /&gt;
In Eclipse Europa select '''File &amp;gt; New &amp;gt; C++ Project'''. Choose a project type of '''Executable (XL C/C++)'''.&lt;br /&gt;
&lt;br /&gt;
In Eclipse Calisto right click in the '''C/C++ Projects''' tab, and choose '''New &amp;gt; Project...''' and in the window choose '''Standard Make C++ Project.'''&lt;br /&gt;
&lt;br /&gt;
Give the project a name, and uncheck the '''Use default location''' box.  You must give the location that you checked the code out into here.&lt;br /&gt;
&lt;br /&gt;
At this point, you will be able to use TortoiseSVN or Subclipse within Eclipse to control the source.&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE FOR LINUX USERS''' For building, you can probably get away with running './autogen.sh' then './configure' from the directory containing your copy of the repository. You can then create a 'Builder' which contains Makefile as Main-Location.&lt;br /&gt;
&lt;br /&gt;
Be sure you have the btool built and ready to go, as outlined on the [[Win32Port]] page.  You can build Inkscape from the command line or initiate it from within Eclipse, which will capture the output for you.&lt;br /&gt;
&lt;br /&gt;
To set up Eclipse to do this, make sure you are in the '''C/C++ Perspective''' and that your project is open.  Right click on the project name and click '''Properties'''.  Click on '''Builders'''.  Uncheck any builders that are there since we will be using the custom btool.  Click '''New...''' and select '''Program'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-04.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''Main''' tab, browse the workspace for the location of the btool.exe file.  Browse the workspace again to set the working directory to the main project directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-05.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now go to the '''Environment Tab''' and add a new variable called path.  Add the same thing that appears in your mingenv.bat file here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-06.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-07.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on '''C/C++ Project Paths''' and then the tab '''Path Containers'''.  Click '''Add...''', choose '''Discovered scanner configuration container''', '''Next''', '''Discovered Paths''', and '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
Now go to '''C/C++ Include Paths and Symbols'''.  Click '''Add Contributed''' and choose the '''Discovered scanner configuration container''', then '''Discovered Paths'''.  Then click '''Add External Include Path''' and add the path to your GTK folder (probably something like c:\gtk210).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-08.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to use the '''Project &amp;gt; Build All''' command, capturing the output onto Eclipse's console.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
&lt;br /&gt;
You need to make a couple of changes to the build.xml file and do a clean rebuild.  First, add -g to the flags section:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;flags&amp;gt;&lt;br /&gt;
      -Wall -O3&lt;br /&gt;
      -mms-bitfields&lt;br /&gt;
      '''-g'''&lt;br /&gt;
  &amp;lt;/flags&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then avoid stripping symbol information from the exe by changing this line&lt;br /&gt;
      strip=&amp;quot;'''true'''&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
with this one&lt;br /&gt;
      strip=&amp;quot;'''false'''&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now you need to create a debugging instance in Eclipse.  Click '''Run &amp;gt; Debug...'''.  Click on '''C/C++ Local Application''' and then click the new button.  Give the launch configuration a logical name such as Inkscape Debug.&lt;br /&gt;
&lt;br /&gt;
These screenshots show you the values you have to change in each tab.  Nothing else needs to change.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-09.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-10.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you can launch this new configuration and debug away!&lt;br /&gt;
&lt;br /&gt;
(Don't worry about funny warnings about files or folders not existing - it doesn't seem to affect the use of the debugger.  However, if you know how to fix it, please replace this comment with instructions.)&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Extension_repository&amp;diff=95762</id>
		<title>Extension repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Extension_repository&amp;diff=95762"/>
		<updated>2015-02-26T02:10:08Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: /* Scale Generator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It would be very useful to have a central Internet repository for Inkscape extensions, in a similar manner to Firefox. This way, Inkscape could update installed extensions from the web site, with no need for the user to know if an extension was updated.&lt;br /&gt;
&lt;br /&gt;
== Extensions ==&lt;br /&gt;
&lt;br /&gt;
===[[ExtrudeEffect]]===&lt;br /&gt;
Extrude polygons to &amp;quot;3d&amp;quot;, also make &amp;quot;string art&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===[http://wiki.colivre.net/Aurium/InkscapeCalendarShellScript InkscapeCalendarShellScript]===&lt;br /&gt;
Creating calendars sucks or is impractical if you do not have something that automates the process of putting the days organized in blocks of months for you. To format manually is easy, but this extension can help you on this, too. BASH script, works for Win32 with Cygwin.&lt;br /&gt;
&lt;br /&gt;
===[http://wiki.colivre.net/Aurium/InkscapeAreaCuter InkscapeAreaCutter]===&lt;br /&gt;
For web designers. Slice your site design into .png images. (pt_BR)&lt;br /&gt;
&lt;br /&gt;
===[http://www.julienvitard.eu/ EQTeXSVG]===&lt;br /&gt;
Convert an inline LATEX equation into SVG path using Python.&lt;br /&gt;
&lt;br /&gt;
===[http://www.kono.cis.iwate-u.ac.jp/~arakit/inkscape/inklatex.html InkLaTeX]===&lt;br /&gt;
Insert LaTeX text or equations into Inkscape.&lt;br /&gt;
&lt;br /&gt;
===[http://www.iki.fi/pav/software/textext/ TexText]===&lt;br /&gt;
Embed re-editable LaTeX objects into SVG drawings.&lt;br /&gt;
&lt;br /&gt;
===[http://math.univ-lille1.fr/~barraud/Inkscape/pathdeform/ PathDeform]===&lt;br /&gt;
Bend a path according to another one. &lt;br /&gt;
N.B. This extension was added to Inkscape 0.45 as &amp;quot;Pattern along Path&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===[http://www.inkbar.lineaire.net/ InkBar]===&lt;br /&gt;
Create EAN13 bar codes.&lt;br /&gt;
&lt;br /&gt;
===[http://technoargia.free.fr/swftools/ SWF output]===&lt;br /&gt;
Save drawings as SWF. Updated version (compatible with Inkscape 0.48) ist available on [https://gist.github.com/frederik-elwert/1a46f82fce5d3deb7842 GitHub].&lt;br /&gt;
&lt;br /&gt;
===[http://wiki.colivre.net/Aurium/Puff Puff]===&lt;br /&gt;
Fluffs elements! :D&lt;br /&gt;
&lt;br /&gt;
===[http://www.colivre.coop.br/Aurium/InkSudoku Sudoku Generator]===&lt;br /&gt;
Generates a Sudoku square with its solution (''in a small square if you want'').&lt;br /&gt;
&lt;br /&gt;
===[[CalligraphedOutlineFill]]===&lt;br /&gt;
Helps to fill in the inside area of shapes drawn with the Calligraphy tool.&lt;br /&gt;
&lt;br /&gt;
===[http://edlab.die.unipd.it/Site4.html SlotStar]===&lt;br /&gt;
Helps to draw the star of slot of a winding of an electrical machine&lt;br /&gt;
&lt;br /&gt;
===[http://richard.henwood.googlepages.com/inkscapelatexextension inkscapeLatexExtension]===&lt;br /&gt;
Extract text in an SVG drawing to a LaTeX picture environment.&lt;br /&gt;
&lt;br /&gt;
===[http://saws.googlecode.com s.a.w.s]===&lt;br /&gt;
Export an SVG as valid XHTML/CSS files.&lt;br /&gt;
&lt;br /&gt;
===[http://www.colivre.coop.br/Aurium/InkscapeGenerator Generator]===&lt;br /&gt;
Replace text and data to automatically generate files (as PDF, PS, JPG, etc...), based on an SVG template and a data file. ''e.g.'', a CSV file&lt;br /&gt;
&lt;br /&gt;
===[http://code.google.com/p/inkscape2tikz/ TikZ exporter]===&lt;br /&gt;
Export SVG paths as TikZ/PGF code for use with LaTeX.  &lt;br /&gt;
&lt;br /&gt;
===[[FindMatch]]===&lt;br /&gt;
Looks for paths that match the selected path and places all matches on the same layer.&lt;br /&gt;
&lt;br /&gt;
===[http://emilien.tlapale.com/code/inksyntax InkSyntax]===&lt;br /&gt;
A source code syntax highlighter plugin for Inkscape (wrapping [http://pygments.org pygments] and [http://www.andre-simon.de/doku/highlight/en/highlight.html highlight]).&lt;br /&gt;
&lt;br /&gt;
===[http://sites.google.com/site/placeonpath/ Place Objects on Path]===&lt;br /&gt;
Places objects on a curve. The curve is the object that has the lowest z-order (and which must be a path). Distances between objects remain the same as they were before placing. If objects can't be placed on the curve because of their distances they are left in place. Objects will not be modified; clones are allowed. Arrange distances between your objects manually first as curve position and direction.&lt;br /&gt;
&lt;br /&gt;
===[http://code.google.com/p/jessyink/ JessyInk]===&lt;br /&gt;
A collection of Javascripts that can be embedded into an SVG file to produce slide shows on opening in a browser. Current releases of JessyInk include a number of inkscape extensions to assign effects, transitions and other aspects of the presentations.&lt;br /&gt;
&lt;br /&gt;
===[http://svg2dxf.googlecode.com/files/svg2dxf_inkscape.zip svg2dxf]===&lt;br /&gt;
Updated version of [http://www.bobcookdev.com/inkscape/inkscape-dxf.html Better Better DXF output] which adds support for polylines and does not overwrite the default inkscape simpletransform.py. See README if getting lxml xpath errors.&lt;br /&gt;
&lt;br /&gt;
===[http://code.google.com/p/pixelsnap/ PixelSnap]===&lt;br /&gt;
Tool for aligning object/paths onto the pixel grid for bitmap export.&lt;br /&gt;
&lt;br /&gt;
===[http://code.google.com/p/inkscape-guides-creator/ Guide creator]===&lt;br /&gt;
Creates multiple guides at once, at set intervals. &lt;br /&gt;
&lt;br /&gt;
===[http://code.google.com/p/inkscapescalegenerator/ Scale Generator]===&lt;br /&gt;
Create a scale for a ruler, map, gauge, clock, compass, etc.&lt;br /&gt;
&lt;br /&gt;
===[http://code.google.com/p/scott-inkscape/wiki/SevenSegmentDigits Seven Segment Digits]===&lt;br /&gt;
Create calculator style digits.&lt;br /&gt;
&lt;br /&gt;
===[http://www.cnc-club.ru/forum/viewtopic.php?f=15&amp;amp;t=37&amp;amp;p=92 Close curves]===&lt;br /&gt;
Closes all open paths in the selection.&lt;br /&gt;
&lt;br /&gt;
===[http://www.cnc-club.ru/forum/viewtopic.php?f=15&amp;amp;p=101 Gcode tools]===&lt;br /&gt;
Generates Gcode program (used in CNC machinery) from given paths.&lt;br /&gt;
&lt;br /&gt;
===[http://dp48069596.lolipop.jp/inkscape_script.html Closeoff, Scatterpath, Selection, Zigzag and Netting]===&lt;br /&gt;
See [http://dp48069596.lolipop.jp/inkscape_video.html] for how to use Zigzag and scater extensions.&lt;br /&gt;
&lt;br /&gt;
===[http://wiki.xmoto.tuxfamily.org/index.php?title=How_to_create_smooth_levels_using_Inkscape Inksmoto]===&lt;br /&gt;
Level editor for the Xmoto game.&lt;br /&gt;
&lt;br /&gt;
===[http://www.cnc-club.ru/forum/viewtopic.php?f=33&amp;amp;t=37 Close Curves]===&lt;br /&gt;
Extension to close the paths in the selection, useful for importing filled paths into openoffice.&lt;br /&gt;
&lt;br /&gt;
===[http://kalyaev.com/2010/20100423/gcodetools.html gcodetools]===&lt;br /&gt;
Gcodetools is a plug-in for Inkscape. It prepares and converts paths from Inkscape to Gcode, using biarc interpolation. for use with CNC milling machines.&lt;br /&gt;
&lt;br /&gt;
===[http://www.signcutpro.com/SignCut-Productivity-Pro/signcut-export-plugins.html SignCut Export]===&lt;br /&gt;
Set of extensions that come with SignCut to enable Inkscape users to use plotters / cutters via the SignCut software.&lt;br /&gt;
&lt;br /&gt;
===[http://www.lysator.liu.se/~perni/iboardgameexts/ Boardgame extensions]===&lt;br /&gt;
Inkscape Extensions for Boardgame Developlemt [http://www.boardgamegeek.com/thread/299033/inkscape-extensions-for-boardgame-developlemt 1]. Includes a hexagonal board/hexmap creator and tools to sheets of tiles for counters ect.&lt;br /&gt;
&lt;br /&gt;
===[http://camm-gl.dyndns.org/ Inkscape CAMM-GL Extension]===&lt;br /&gt;
... vinyl cutting utility for Inkscape&lt;br /&gt;
&lt;br /&gt;
This program is basically just a cut manager. Create artwork in Inkscape, save with the supplied hpgl_output extension, and cut or plot with this program. The program does provide some useful functions, but it is by no means a fully featured solution. I do use it exclusivly, and it currently satisfies my needs.&lt;br /&gt;
&lt;br /&gt;
===[http://salug.it/~fabioviola/inkscape/extensions Badge Renderer]===&lt;br /&gt;
... A little script to render a badge in a Inkscape document. &lt;br /&gt;
This is only a little python script used as example in an article for my GLUG (SaLUG!) journal. This can be used to quickly render a badge. It can be improved, for example, with shadow direction and reflex direction. As soon as possible I'll do it.&lt;br /&gt;
&lt;br /&gt;
===[http://www.craigmarshall.org/archives/8 Guillotine]===&lt;br /&gt;
This is a mirror of the GIMP guillotine function, it allows you to drag guides onto the canvas, and then using Export-&amp;gt;Guillotine, export those slices as pngs to the directory and filename of your choice. It also has an option for using export hints, if your drawing has previously been exported. [http://www.inkscapeforum.com/viewtopic.php?f=11&amp;amp;t=5832 Forum link]&lt;br /&gt;
&lt;br /&gt;
===[http://code.google.com/p/inkscape-replace-font/ Replace Font]===&lt;br /&gt;
Allows mass replacement of the fonts in a document. Can list existing fonts. [http://www.inkscapeforum.com/viewtopic.php?f=11&amp;amp;t=5843 Forum link]&lt;br /&gt;
&lt;br /&gt;
=== [http://sozi.baierouge.fr/wiki/doku.php?id=en:welcome Sozi] ===&lt;br /&gt;
A tool for presentations made using zooms and rotations, not just slides. Uses Javascript added to the .svg file to display in web-browsers.&lt;br /&gt;
&lt;br /&gt;
Version 13.11 is the last version of sozi which is available as an Inkscape extension. According to [http://sozi.baierouge.fr/release-14.10.html this article], future versions will be available as standalone-application.&lt;br /&gt;
&lt;br /&gt;
===[http://www.inkscapeforum.com/viewtopic.php?f=11&amp;amp;t=5943 CMYK pdf/tiff export]===&lt;br /&gt;
Extension to export to CYMK colourspaced PDFs / Tiffs. In development (september 2010)&lt;br /&gt;
&lt;br /&gt;
===[http://sourceforge.net/projects/o-scape/ O-Scape; Orienteering map making tools]===&lt;br /&gt;
Extensions to help make Orienteering maps; see this [http://www.nopesport.com/news/1343-o-scape-free-orienteering-mapping-software interview] for more information&lt;br /&gt;
&lt;br /&gt;
===[http://www.inkscapeforum.com/viewtopic.php?f=5&amp;amp;t=4729#p32019 Mirror]=== &lt;br /&gt;
Mirror a path along any axis.&lt;br /&gt;
&lt;br /&gt;
===[http://sourceforge.net/projects/inkscape-tables/ Tables in Inkscape]===&lt;br /&gt;
Adds (experimental?) table suport as an extension.&lt;br /&gt;
&lt;br /&gt;
===[http://doctormo.org/2011/05/19/deviantart-plugins-released/ deviantArt uploaders]===&lt;br /&gt;
Upload artwork to deviantArt from the &amp;quot;publish to&amp;quot; menue item under extensions.&lt;br /&gt;
&lt;br /&gt;
===[http://code.google.com/p/inkscape-music-scale-generator/ Musical scales]===&lt;br /&gt;
Extension for automatic generation schemes of musical scale and chords on piano.&lt;br /&gt;
&lt;br /&gt;
===[http://www.inkscapeforum.com/viewtopic.php?f=11&amp;amp;t=9212 Text from CSV]===&lt;br /&gt;
Extension to enter text from a CSV file&lt;br /&gt;
&lt;br /&gt;
===[http://luther.ceplovi.cz/git/inkscape-ungroup-deep.git/ Deep Ungroup]===&lt;br /&gt;
Ungroup all groups in the selected object.&lt;br /&gt;
&lt;br /&gt;
===[http://www.pernsteiner.org/inkscape/layerclip/ Layer Clip]===&lt;br /&gt;
This is a a set of Inkscape extension scripts for setting and removing clip paths for entire layers. Inkscape has no trouble rendering or editing layers with clip paths, but it currently has no built-in method of setting the clip path for a layer, this is the purpose of these extensions.&lt;br /&gt;
&lt;br /&gt;
Features include: Clip containing layer, Clip layer above, Clip layer below, Clip parent layer.&lt;br /&gt;
&lt;br /&gt;
'''''Notes:'''&lt;br /&gt;
''You must select an object in the clipping layer before applying the extension, otherwise you will receive an error message.&lt;br /&gt;
It is a good idea to lock the layer after the extension has been applied. You may also require hiding the clipping layer when using &amp;quot;Clip layer below&amp;quot;. This may be exploited to create a masking layer.&lt;br /&gt;
Tested on Inkscape 0.48.2 r98''19''&lt;br /&gt;
&lt;br /&gt;
===[https://bitbucket.org/daviddamerell/inkscapesaveasicoextension Icon Generation]===&lt;br /&gt;
This is an Inkscape output extension that adds an option to the &amp;quot;save-as&amp;quot; dialog box to generate Windows Icon files (*.ico).&lt;br /&gt;
&lt;br /&gt;
==Extensions for Programmers:==&lt;br /&gt;
===[http://wiki.colivre.net/Aurium/RubyInk RubyInk]===&lt;br /&gt;
Inkscape extension with Ruby&lt;br /&gt;
&lt;br /&gt;
===[http://wiki.colivre.net/Aurium/InkBash Ink-Bash]===&lt;br /&gt;
&amp;lt;nowiki&amp;gt;ShellScript&amp;lt;/nowiki&amp;gt; Forever!&lt;br /&gt;
&lt;br /&gt;
===[http://wiki.colivre.net/Aurium/InkMoz InkMoz]===&lt;br /&gt;
The Bridge from Inkscape to Mozilla (Inkscape extension with Javascript and more)&lt;br /&gt;
&lt;br /&gt;
== The Repository Specification ==&lt;br /&gt;
&lt;br /&gt;
A website where programmers can publish their extensions, users can search by that, and an update program can access this updates.&lt;br /&gt;
&lt;br /&gt;
=== The Website ===&lt;br /&gt;
&lt;br /&gt;
Must Have:&lt;br /&gt;
* '''User Registration''': to allow upload, votes and comments&lt;br /&gt;
* '''Extension Validation''': when published, it is public, but the user must be notified that was not validated (the code must be viewed by an validator user). The software updater do not update non-validated versions.&lt;br /&gt;
** '''Validation Feedback''': the validator user must write why the extension was not validated.&lt;br /&gt;
** '''Extension Deletion''': the validator user can delete an extension or version when he found a malicious code. The upload user must be marked as a malicious user and the account must be blocked.&lt;br /&gt;
* '''Extension Search''': with filter, by any available data.&lt;br /&gt;
* '''User Votes and Comments for Extensions''': The user can vote and/or comment an extension version.&lt;br /&gt;
* '''Extension Bug-Tracker''': today, third part extensions are in simple web-pages. The site may have a Bug-Traker to help all little scripts.&lt;br /&gt;
* '''User Extensions Requests''': a lot of users have ideas. Here is a good place for programmers see and make that alive.&lt;br /&gt;
* '''Host a cool page for the extension''': allow introduction text, documenbtation, screenshots, examples, and '''i18n'''!&lt;br /&gt;
* '''Help the l10n of this extensions''': with a web interface, like pootle and provide the l10n file for the updater program.&lt;br /&gt;
* '''Provide Version Control''': A SVN account will be cool, but web uploads (by web-forms) can be transparently SVN commits.&lt;br /&gt;
&lt;br /&gt;
=== The Extension Meta-Data ===&lt;br /&gt;
&lt;br /&gt;
''The data in INX file and more some, like the OS and Inkscape version compatibility...''&lt;br /&gt;
&lt;br /&gt;
The INX file will define the meta-data settable by that. If some extension uses multiples INX files to have more than one option in the menu, all INX files must be read to set the meta-data. The meta-data will be cached in a database to help the search. The DB only need the meta-data of the last validated version and the last non-validated (if that is newer).&lt;br /&gt;
&lt;br /&gt;
=== The Update Program ===&lt;br /&gt;
&lt;br /&gt;
* '''Search for New Extensions''': when the user request&lt;br /&gt;
* '''Update Extensions''': search for updates and install that&lt;br /&gt;
* '''Help the Code Validation''': for advanced users. Show the extension code and the diff if is that an update.&lt;br /&gt;
* '''Help the User Bug-Reporting''': that is not working! The user must say now! ''(When the Update Program be part of the Inkscape, the error window can have a button to submit a bug-report)''&lt;br /&gt;
* '''Must test the extension dependencies''': the user must know what is needed to install before try to use.&lt;br /&gt;
&lt;br /&gt;
== Name Proposal ==&lt;br /&gt;
&lt;br /&gt;
Propose a name for the Inkscape Extension Repository:&lt;br /&gt;
&lt;br /&gt;
* '''The Factory'''&lt;br /&gt;
* '''Extension Factory'''&lt;br /&gt;
* '''INX Factory'''&lt;br /&gt;
&lt;br /&gt;
''Why Factory? Because it is not only a repository. ;-)''&lt;br /&gt;
&lt;br /&gt;
* '''The Furnace'''&lt;br /&gt;
''Because Fire &amp;amp; Coal (Passion &amp;amp; Knowledge) are your tools for creating the extensions''&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;br /&gt;
[[Category:Extensions]]&lt;br /&gt;
&lt;br /&gt;
== Mockups ==&lt;br /&gt;
&lt;br /&gt;
Here are some suggestions for what an extension repository might look like.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Extension_repository_-_homepage.png|The home page.&lt;br /&gt;
File:Extension_repository_-_extension_page.png|The page for an individual extension.&lt;br /&gt;
File:Extension_repository_-_request_page.png|The page for an individual request.&lt;br /&gt;
File:Extension_repository_-_search_page.png|The search form page.&lt;br /&gt;
File:Extension_repository_-_search_results.png|The search results page.&lt;br /&gt;
File:Extension_repository_-_submit_extension.png|The extension submission page.&lt;br /&gt;
File:Extension_repository_-_submit_request.png|The request submission page.&lt;br /&gt;
File:Extension_repository_-_requests.png|The main requests page.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I have no idea of the detail of this project; I don't currently have the skills necessary to try implementing it. I'm also not sure whether it's a good idea for Inkscape to offer hosted repositories (using [http://www.redmine.org/projects/redmine Redmine] or [http://trac.edgewall.org/ Trac]?) or whether it would be better to just leave it to the developer to use somewhere like [http://github.com/ GitHub] or [http://bitbucket.org/ BitBucket] and then use their APIs to pull some basic data onto the site. [[User:Legio noctis|Legio noctis]] 10:19, 23 May 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Using_Eclipse&amp;diff=95726</id>
		<title>Using Eclipse</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Using_Eclipse&amp;diff=95726"/>
		<updated>2015-02-20T08:05:40Z</updated>

		<summary type="html">&lt;p&gt;BitBarrel: Out of date information note added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Eclipse is a popular development tool used primarily with Java; however, with the CDT plugin, C/C++ development can also be done.  This page will help you set up Eclipse for coding, building, and debugging Inkscape.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The instructions for Windows are out of date and do not work anymore. If you manage to get compiling and debugging to work under Windows using Eclipse, please modify this page accordingly.&lt;br /&gt;
&lt;br /&gt;
= Eclipse on Fedora =&lt;br /&gt;
&lt;br /&gt;
# Follow the ''Installation'' and ''Configuration'' steps of guide [http://wiki.bazaar.canaonical.com/BzrEclipse BzrEclipse] but be carefull:&lt;br /&gt;
#* At this moment, this How to is for a previous version of Eclipse (some dialogs and menus have changed)&lt;br /&gt;
#* ''bzr-xmloutput'' must be decompress in a folder named exactly ''xmloutput'' in Bazaar plugins directory&lt;br /&gt;
&lt;br /&gt;
= Setup project in Eclipse =&lt;br /&gt;
&lt;br /&gt;
Following steps are equivalent to:&lt;br /&gt;
&lt;br /&gt;
 checkout lp:inkscape /home/{USER_NAME}/workspace/Inkscape&lt;br /&gt;
&lt;br /&gt;
In Eclipse:&lt;br /&gt;
&lt;br /&gt;
# File &amp;gt; New &amp;gt; Project...&lt;br /&gt;
# Select Bazaar &amp;gt; Checkout as a new project&lt;br /&gt;
# Select ''Initialize a new branch location''&lt;br /&gt;
# Set ''Branch location'' to ''lp:inkscape''&lt;br /&gt;
# Select ''Create a project''&lt;br /&gt;
# Set ''Project name'' to ''Inkscape''&lt;br /&gt;
&lt;br /&gt;
After quite a long time working, the Inkscape project appears in the Eclipse Explorer.&lt;br /&gt;
&lt;br /&gt;
= Eclipse on Windows =&lt;br /&gt;
&lt;br /&gt;
Running Eclipse provides a relatively easy and familiar way to work with Inkscape code on Windows.  This section will explain how to make it happen.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' Some of these instructions may be applicable to development on Mac or Linux.  Feel free to refactor them if you are adding information for those platforms.&lt;br /&gt;
&lt;br /&gt;
== Initial Setup ==&lt;br /&gt;
&lt;br /&gt;
First, make sure Inkscape compiles under windows using the command line to verify the source and dependencies are installed correctly. Follow the instructions on the [[Win32Port]] page under the heading '''Inkscape under Windows'''.&lt;br /&gt;
&lt;br /&gt;
If you don't have Eclipse, [http://www.eclipse.org/downloads/ get it].  Check out the [http://help.eclipse.org/help32/index.jsp online help] if needed.&lt;br /&gt;
&lt;br /&gt;
Next, you need to set up the necessary add-ons.  Most important is the [http://www.eclipse.org/cdt/downloads.php CDT plug-in] which facilitates C/C++ development.  You may also wish to add [http://subclipse.tigris.org/install.html Subclipse] for SVN access within Eclipse.  Alternatively, many Windows users prefer to use [http://tortoisesvn.net/downloads TortoiseSVN], which works with Windows Explorer.&lt;br /&gt;
&lt;br /&gt;
== Creating a Project ==&lt;br /&gt;
&lt;br /&gt;
=== Subclipse (Outdated as version control is provided by Bazaar now) ===&lt;br /&gt;
&lt;br /&gt;
The next step is to get the source code ready for use in Eclipse.  Check [[WorkingWithSVN | here]] for general instructions for working with SVN; in this section, the aim is to show how to check out the code using Subclipse.&lt;br /&gt;
&lt;br /&gt;
In Eclipse, we want the SVN perspective to be open.  Click '''Window &amp;gt; Open Perspective &amp;gt; Other'''.  Choose '''SVN Repository Exploring''' and click ok.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-01.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''SVN Repository''' tab, right click and choose '''New &amp;gt; Repository Location...'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-02.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''Location Url:''' box, paste the link https://inkscape.svn.sourceforge.net/svnroot/inkscape/inkscape/trunk and click finish.  This location will now show in the '''SVN Repository''' tab.  You can expand the tree to see what is on the server.&lt;br /&gt;
&lt;br /&gt;
Now right click the location name (which is really just the link given above), and click '''Checkout...'''.  Choose '''Check out as a project configured using the New Project Wizard''' and the revision you want (probably Head), and click '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
In the New Project window that appears, choose '''C++ Project''' in Eclipse Europa (or in Callisto '''Standard Make C++ Project''') and click '''Next'''.&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-Europa-ProjectType.png]]&lt;br /&gt;
&lt;br /&gt;
Give your project a name such as InkscapeSVN.  Uncheck the '''Use default location''' box so you can provide a better project location outside of your workspace, such as C:\InkscapeSVN. Select '''Executable (XL C/C++)''' as the project type, and '''XL C/C++ Tool Chain''' as the the Toolchain (this will not be necessary in Callisto (or before?) as this has been already been specified by selecting '''Standard Make C++ Project'''). Click '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-Europa-CppProjectType.png]]&lt;br /&gt;
&lt;br /&gt;
The source code will now be checked out - this may take a while. You will also now have a project in the '''C/C++ Perspective''' with whatever name you provided earlier.&lt;br /&gt;
&lt;br /&gt;
=== TortoiseSVN (Outdated as version control is provided by Bazaar now) ===&lt;br /&gt;
&lt;br /&gt;
To use TortoiseSVN instead of Subclipse to check out your project, open a Windows Explorer instance.  Right click anywhere outside of an existing SVN tree and choose '''SVN Checkout...'''.  Specify the link given above and the destination directory.&lt;br /&gt;
&lt;br /&gt;
To get a project in Eclipse, go to the '''C/C++ Perspective'''.&lt;br /&gt;
&lt;br /&gt;
In Eclipse Europa select '''File &amp;gt; New &amp;gt; C++ Project'''. Choose a project type of '''Executable (XL C/C++)'''.&lt;br /&gt;
&lt;br /&gt;
In Eclipse Calisto right click in the '''C/C++ Projects''' tab, and choose '''New &amp;gt; Project...''' and in the window choose '''Standard Make C++ Project.'''&lt;br /&gt;
&lt;br /&gt;
Give the project a name, and uncheck the '''Use default location''' box.  You must give the location that you checked the code out into here.&lt;br /&gt;
&lt;br /&gt;
At this point, you will be able to use TortoiseSVN or Subclipse within Eclipse to control the source.&lt;br /&gt;
&lt;br /&gt;
== Building ==&lt;br /&gt;
&lt;br /&gt;
'''NOTE FOR LINUX USERS''' For building, you can probably get away with running './autogen.sh' then './configure' from the directory containing your copy of the repository. You can then create a 'Builder' which contains Makefile as Main-Location.&lt;br /&gt;
&lt;br /&gt;
Be sure you have the btool built and ready to go, as outlined on the [[Win32Port]] page.  You can build Inkscape from the command line or initiate it from within Eclipse, which will capture the output for you.&lt;br /&gt;
&lt;br /&gt;
To set up Eclipse to do this, make sure you are in the '''C/C++ Perspective''' and that your project is open.  Right click on the project name and click '''Properties'''.  Click on '''Builders'''.  Uncheck any builders that are there since we will be using the custom btool.  Click '''New...''' and select '''Program'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-04.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the '''Main''' tab, browse the workspace for the location of the btool.exe file.  Browse the workspace again to set the working directory to the main project directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-05.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now go to the '''Environment Tab''' and add a new variable called path.  Add the same thing that appears in your mingenv.bat file here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-06.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-07.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on '''C/C++ Project Paths''' and then the tab '''Path Containers'''.  Click '''Add...''', choose '''Discovered scanner configuration container''', '''Next''', '''Discovered Paths''', and '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
Now go to '''C/C++ Include Paths and Symbols'''.  Click '''Add Contributed''' and choose the '''Discovered scanner configuration container''', then '''Discovered Paths'''.  Then click '''Add External Include Path''' and add the path to your GTK folder (probably something like c:\gtk210).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-08.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should now be able to use the '''Project &amp;gt; Build All''' command, capturing the output onto Eclipse's console.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
&lt;br /&gt;
You need to make a couple of changes to the build.xml file and do a clean rebuild.  First, add -g to the flags section:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;flags&amp;gt;&lt;br /&gt;
      -Wall -O3&lt;br /&gt;
      -mms-bitfields&lt;br /&gt;
      '''-g'''&lt;br /&gt;
  &amp;lt;/flags&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then avoid stripping symbol information from the exe by changing this line&lt;br /&gt;
      strip=&amp;quot;'''true'''&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
with this one&lt;br /&gt;
      strip=&amp;quot;'''false'''&amp;quot; symfile=&amp;quot;${build}/inkscape.dbg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now you need to create a debugging instance in Eclipse.  Click '''Run &amp;gt; Debug...'''.  Click on '''C/C++ Local Application''' and then click the new button.  Give the launch configuration a logical name such as Inkscape Debug.&lt;br /&gt;
&lt;br /&gt;
These screenshots show you the values you have to change in each tab.  Nothing else needs to change.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-09.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eclipse-10.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now you can launch this new configuration and debug away!&lt;br /&gt;
&lt;br /&gt;
(Don't worry about funny warnings about files or folders not existing - it doesn't seem to affect the use of the debugger.  However, if you know how to fix it, please replace this comment with instructions.)&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>BitBarrel</name></author>
	</entry>
</feed>