<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.videolan.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tobias</id>
	<title>VideoLAN Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.videolan.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tobias"/>
	<link rel="alternate" type="text/html" href="https://wiki.videolan.org/Special:Contributions/Tobias/"/>
	<updated>2026-11-04T18:40:08Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Win32Compile&amp;diff=20912</id>
		<title>Win32Compile</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Win32Compile&amp;diff=20912"/>
		<updated>2011-12-18T20:12:13Z</updated>

		<summary type="html">&lt;p&gt;Tobias: /* Configure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to compile {{VLC}} for [[Windows]].&lt;br /&gt;
&lt;br /&gt;
== Building Methods&amp;lt;br&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
If you want to build VLC from source, you have several choices: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Method &lt;br /&gt;
! Documentation &lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Cross-compile with Mingw on Linux&#039;&#039;&#039; &lt;br /&gt;
| This page &lt;br /&gt;
| &#039;&#039;&#039;Preferred&#039;&#039;&#039; method (uses cross compilation). On Windows, you should do it in a virtual machine.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Native compilation&#039;&#039;&#039; with &#039;&#039;&#039;[http://www.mingw.org MSYS+MINGW]&#039;&#039;&#039; &lt;br /&gt;
| [[Win32CompileMSYSNew]] &lt;br /&gt;
| &#039;&#039;&#039;Native&#039;&#039;&#039; compilation method. MSYS is a minimal build environment to compile Unixish projects under Microsoft Windows.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Native compilation&#039;&#039;&#039; with &#039;&#039;&#039;cygwin&#039;&#039;&#039; &lt;br /&gt;
| [[Win32CompileCygwinNew]] &lt;br /&gt;
| Build using cygwin as your compile environment. &#039;&#039;&#039;Error&#039;&#039;&#039; prone, and &#039;&#039;&#039;slow&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Obtaining the toolchain  ==&lt;br /&gt;
&lt;br /&gt;
Each build method requires its own toolchain: &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Debian/Ubuntu&#039;&#039;&#039; users can &amp;lt;code&amp;gt;apt-get install gcc-mingw32 mingw32-binutils&amp;lt;/code&amp;gt;.&amp;amp;nbsp;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Gentoo&#039;&#039;&#039; users can &amp;lt;code&amp;gt;emerge crossdev &amp;amp;amp;&amp;amp;amp; crossdev mingw32&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;ArchLinux&#039;&#039;&#039; users can &amp;lt;code&amp;gt;pacman -S mingw32-gcc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Fedora&#039;&#039;&#039; users should read [[Win32CompileFedora13]]&lt;br /&gt;
* Other &#039;&#039;&#039;Linux&#039;&#039;&#039; systems may attempt http://www.mingw.org/wiki/LinuxCrossMinGW&lt;br /&gt;
* Native-compile with &#039;&#039;&#039;[http://www.mingw.org MSYS+MINGW]&#039;&#039;&#039;, should read the [[Win32CompileMSYSNew|documentation]]&lt;br /&gt;
* Native-compile with &#039;&#039;&#039;[http://www.cygwin.com Cygwin]&#039;&#039;&#039;, should read the [[Win32CompileCygwinNew|documentation]]&lt;br /&gt;
&lt;br /&gt;
== Get the source code ==&lt;br /&gt;
 $ git clone git://git.videolan.org/vlc.git&lt;br /&gt;
&lt;br /&gt;
== Prepare [[Contrib Status|3rd party libraries]]  ==&lt;br /&gt;
&lt;br /&gt;
Before compiling VLC, you need lots of other libraries. Here is how to get them: &lt;br /&gt;
&lt;br /&gt;
  $ mkdir -p contrib/win32&lt;br /&gt;
  $ cd contrib/win32&lt;br /&gt;
  $ ../bootstrap --host=i586-mingw32msvc&lt;br /&gt;
  $ make prebuilt&lt;br /&gt;
&lt;br /&gt;
=== Linux 64bits ===&lt;br /&gt;
&lt;br /&gt;
If you are on linux &#039;&#039;&#039;64bits&#039;&#039;&#039;, you &#039;&#039;&#039;MUST&#039;&#039;&#039; remove some files:&lt;br /&gt;
&lt;br /&gt;
  $ rm -f ../i586-mingw32msvc/bin/moc ../i586-mingw32msvc/bin/uic ../i586-mingw32msvc/bin/rcc&lt;br /&gt;
&lt;br /&gt;
And install your &#039;&#039;qt4-tools&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Fix your contrib path ===&lt;br /&gt;
&lt;br /&gt;
If your Mingw prefix is not &#039;&#039;i586-mingw32msvc&#039;&#039; (you are NOT on Debian or Ubuntu), create a symlink to contribs:&lt;br /&gt;
  $ ln -sf ../i586-mingw32msvc ../i486-mingw32&lt;br /&gt;
&lt;br /&gt;
=== Go Back  ===&lt;br /&gt;
&lt;br /&gt;
Go back to the VLC source directory: &lt;br /&gt;
&lt;br /&gt;
  $ cd -&lt;br /&gt;
&lt;br /&gt;
== Configuring the build  ==&lt;br /&gt;
&lt;br /&gt;
=== Bootstrap ===&lt;br /&gt;
First, prepare the tree:&lt;br /&gt;
  $ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
Then you can to configure the build with the &amp;lt;code&amp;gt;./configure&amp;lt;/code&amp;gt; script. &lt;br /&gt;
&lt;br /&gt;
Create a subfolder:&lt;br /&gt;
  $ mkdir win32 &amp;amp;&amp;amp; cd win32&lt;br /&gt;
&lt;br /&gt;
Use the standard configuration: &lt;br /&gt;
 $ ../extras/package/win32/configure.sh --host=i586-mingw32msvc&lt;br /&gt;
&#039;&#039;&#039;NB&#039;&#039;&#039;: use &#039;&#039;&#039;YOUR&#039;&#039;&#039; Xcompiling prefix here, like &#039;&#039;i486-mingw32&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can run configure manually:&lt;br /&gt;
 $ ../configure --host=i586-mingw32msvc&lt;br /&gt;
See &amp;lt;code&amp;gt;&#039;../configure --help&#039;&amp;lt;/code&amp;gt; for more information.&lt;br /&gt;
&lt;br /&gt;
== Building VLC  ==&lt;br /&gt;
&lt;br /&gt;
Once configured, to build VLC, just run:&lt;br /&gt;
  $ make&lt;br /&gt;
&lt;br /&gt;
== Packaging VLC ==&lt;br /&gt;
Once the compilation is done, you can build self-contained VLC packages with the following &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; rules: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command &lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win-common&amp;lt;/code&amp;gt;&lt;br /&gt;
| Creates a subdirectory named &amp;lt;code&amp;gt;vlc-x.x.x&amp;lt;/code&amp;gt; with all the binaries. You can run VLC directly from this directory.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win-strip&amp;lt;/code&amp;gt; (might be package-win32-strip)&lt;br /&gt;
| Same as above but will create &#039;stripped&#039; binaries (that is, smallest size, unusable with a debugger).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win32-7zip&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same as above but will package the directory in a 7z file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win32-zip&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same as above but will package the directory in a zip file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win32&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same as above but will also create an auto-installer package. You must have NSIS installed in its default location for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Well done—you&#039;re ready to use VLC!&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
[[Category:Building]]&lt;/div&gt;</summary>
		<author><name>Tobias</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Win32Compile&amp;diff=20911</id>
		<title>Win32Compile</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Win32Compile&amp;diff=20911"/>
		<updated>2011-12-18T20:00:17Z</updated>

		<summary type="html">&lt;p&gt;Tobias: /* Packaging VLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to compile {{VLC}} for [[Windows]].&lt;br /&gt;
&lt;br /&gt;
== Building Methods&amp;lt;br&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
If you want to build VLC from source, you have several choices: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Method &lt;br /&gt;
! Documentation &lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Cross-compile with Mingw on Linux&#039;&#039;&#039; &lt;br /&gt;
| This page &lt;br /&gt;
| &#039;&#039;&#039;Preferred&#039;&#039;&#039; method (uses cross compilation). On Windows, you should do it in a virtual machine.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Native compilation&#039;&#039;&#039; with &#039;&#039;&#039;[http://www.mingw.org MSYS+MINGW]&#039;&#039;&#039; &lt;br /&gt;
| [[Win32CompileMSYSNew]] &lt;br /&gt;
| &#039;&#039;&#039;Native&#039;&#039;&#039; compilation method. MSYS is a minimal build environment to compile Unixish projects under Microsoft Windows.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Native compilation&#039;&#039;&#039; with &#039;&#039;&#039;cygwin&#039;&#039;&#039; &lt;br /&gt;
| [[Win32CompileCygwinNew]] &lt;br /&gt;
| Build using cygwin as your compile environment. &#039;&#039;&#039;Error&#039;&#039;&#039; prone, and &#039;&#039;&#039;slow&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Obtaining the toolchain  ==&lt;br /&gt;
&lt;br /&gt;
Each build method requires its own toolchain: &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Debian/Ubuntu&#039;&#039;&#039; users can &amp;lt;code&amp;gt;apt-get install gcc-mingw32 mingw32-binutils&amp;lt;/code&amp;gt;.&amp;amp;nbsp;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Gentoo&#039;&#039;&#039; users can &amp;lt;code&amp;gt;emerge crossdev &amp;amp;amp;&amp;amp;amp; crossdev mingw32&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;ArchLinux&#039;&#039;&#039; users can &amp;lt;code&amp;gt;pacman -S mingw32-gcc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Fedora&#039;&#039;&#039; users should read [[Win32CompileFedora13]]&lt;br /&gt;
* Other &#039;&#039;&#039;Linux&#039;&#039;&#039; systems may attempt http://www.mingw.org/wiki/LinuxCrossMinGW&lt;br /&gt;
* Native-compile with &#039;&#039;&#039;[http://www.mingw.org MSYS+MINGW]&#039;&#039;&#039;, should read the [[Win32CompileMSYSNew|documentation]]&lt;br /&gt;
* Native-compile with &#039;&#039;&#039;[http://www.cygwin.com Cygwin]&#039;&#039;&#039;, should read the [[Win32CompileCygwinNew|documentation]]&lt;br /&gt;
&lt;br /&gt;
== Get the source code ==&lt;br /&gt;
 $ git clone git://git.videolan.org/vlc.git&lt;br /&gt;
&lt;br /&gt;
== Prepare [[Contrib Status|3rd party libraries]]  ==&lt;br /&gt;
&lt;br /&gt;
Before compiling VLC, you need lots of other libraries. Here is how to get them: &lt;br /&gt;
&lt;br /&gt;
  $ mkdir -p contrib/win32&lt;br /&gt;
  $ cd contrib/win32&lt;br /&gt;
  $ ../bootstrap --host=i586-mingw32msvc&lt;br /&gt;
  $ make prebuilt&lt;br /&gt;
&lt;br /&gt;
=== Linux 64bits ===&lt;br /&gt;
&lt;br /&gt;
If you are on linux &#039;&#039;&#039;64bits&#039;&#039;&#039;, you &#039;&#039;&#039;MUST&#039;&#039;&#039; remove some files:&lt;br /&gt;
&lt;br /&gt;
  $ rm -f ../i586-mingw32msvc/bin/moc ../i586-mingw32msvc/bin/uic ../i586-mingw32msvc/bin/rcc&lt;br /&gt;
&lt;br /&gt;
And install your &#039;&#039;qt4-tools&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Fix your contrib path ===&lt;br /&gt;
&lt;br /&gt;
If your Mingw prefix is not &#039;&#039;i586-mingw32msvc&#039;&#039; (you are NOT on Debian or Ubuntu), create a symlink to contribs:&lt;br /&gt;
  $ ln -sf ../i586-mingw32msvc ../i486-mingw32&lt;br /&gt;
&lt;br /&gt;
=== Go Back  ===&lt;br /&gt;
&lt;br /&gt;
Go back to the VLC source directory: &lt;br /&gt;
&lt;br /&gt;
  $ cd -&lt;br /&gt;
&lt;br /&gt;
== Configuring the build  ==&lt;br /&gt;
&lt;br /&gt;
=== Bootstrap ===&lt;br /&gt;
First, prepare the tree:&lt;br /&gt;
  $ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
Then, you can to configure the build with the &amp;lt;code&amp;gt;./configure&amp;lt;/code&amp;gt; script. &lt;br /&gt;
&lt;br /&gt;
Create a subfolder:&lt;br /&gt;
  $ mkdir win32 &amp;amp;&amp;amp; cd win32&lt;br /&gt;
&lt;br /&gt;
Use the standard configure: &lt;br /&gt;
 $ ../extras/package/win32/configure.sh --host=i586-mingw32msvc&lt;br /&gt;
&#039;&#039;&#039;NB&#039;&#039;&#039;: use &#039;&#039;&#039;YOUR&#039;&#039;&#039; Xcompiling prefix here, like &#039;&#039;i486-mingw32&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can also, just run configure manually:&lt;br /&gt;
 $ ../configure --with-contrib=/usr/win32 --host=i586-mingw32msvc&lt;br /&gt;
&lt;br /&gt;
See &amp;lt;code&amp;gt;&#039;../configure --help&#039;&amp;lt;/code&amp;gt; for more information.&lt;br /&gt;
&lt;br /&gt;
== Building VLC  ==&lt;br /&gt;
&lt;br /&gt;
Once configured, to build VLC, just run:&lt;br /&gt;
  $ make&lt;br /&gt;
&lt;br /&gt;
== Packaging VLC ==&lt;br /&gt;
Once the compilation is done, you can build self-contained VLC packages with the following &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; rules: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command &lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win-common&amp;lt;/code&amp;gt;&lt;br /&gt;
| Creates a subdirectory named &amp;lt;code&amp;gt;vlc-x.x.x&amp;lt;/code&amp;gt; with all the binaries. You can run VLC directly from this directory.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win-strip&amp;lt;/code&amp;gt; (might be package-win32-strip)&lt;br /&gt;
| Same as above but will create &#039;stripped&#039; binaries (that is, smallest size, unusable with a debugger).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win32-7zip&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same as above but will package the directory in a 7z file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win32-zip&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same as above but will package the directory in a zip file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win32&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same as above but will also create an auto-installer package. You must have NSIS installed in its default location for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Well done—you&#039;re ready to use VLC!&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
[[Category:Building]]&lt;/div&gt;</summary>
		<author><name>Tobias</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Win32Compile&amp;diff=20539</id>
		<title>Win32Compile</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Win32Compile&amp;diff=20539"/>
		<updated>2011-12-09T22:49:59Z</updated>

		<summary type="html">&lt;p&gt;Tobias: paths&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to compile {{VLC}} for [[Windows]].&lt;br /&gt;
&lt;br /&gt;
== Building Methods&amp;lt;br&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
If you want to build VLC from source, you have several choices: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Method &lt;br /&gt;
! Documentation &lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Cross-compile with Mingw on Linux&#039;&#039;&#039; &lt;br /&gt;
| This page &lt;br /&gt;
| &#039;&#039;&#039;Preferred&#039;&#039;&#039; method (uses cross compilation). On Windows, you should do it in a virtual machine.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Native compilation&#039;&#039;&#039; with &#039;&#039;&#039;[http://www.mingw.org MSYS+MINGW]&#039;&#039;&#039; &lt;br /&gt;
| [[Win32CompileMSYSNew]] &lt;br /&gt;
| &#039;&#039;&#039;Native&#039;&#039;&#039; compilation method. MSYS is a minimal build environment to compile Unixish projects under Microsoft Windows.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Native compilation&#039;&#039;&#039; with &#039;&#039;&#039;cygwin&#039;&#039;&#039; &lt;br /&gt;
| [[Win32CompileCygwinNew]] &lt;br /&gt;
| Build using cygwin as your compile environment. &#039;&#039;&#039;Error&#039;&#039;&#039; prone, and &#039;&#039;&#039;slow&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Obtaining the toolchain  ==&lt;br /&gt;
&lt;br /&gt;
Each build method requires its own toolchain: &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Debian/Ubuntu&#039;&#039;&#039; users can &amp;lt;code&amp;gt;apt-get install gcc-mingw32 mingw32-binutils&amp;lt;/code&amp;gt;.&amp;amp;nbsp;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Gentoo&#039;&#039;&#039; users can &amp;lt;code&amp;gt;emerge crossdev &amp;amp;amp;&amp;amp;amp; crossdev mingw32&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;ArchLinux&#039;&#039;&#039; users can &amp;lt;code&amp;gt;pacman -S mingw32-gcc&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Fedora&#039;&#039;&#039; users should read [[Win32CompileFedora13]]&lt;br /&gt;
* Other &#039;&#039;&#039;Linux&#039;&#039;&#039; systems may attempt http://www.mingw.org/wiki/LinuxCrossMinGW&lt;br /&gt;
* Native-compile with &#039;&#039;&#039;[http://www.mingw.org MSYS+MINGW]&#039;&#039;&#039;, should read the [[Win32CompileMSYSNew|documentation]]&lt;br /&gt;
* Native-compile with &#039;&#039;&#039;[http://www.cygwin.com Cygwin]&#039;&#039;&#039;, should read the [[Win32CompileCygwinNew|documentation]]&lt;br /&gt;
&lt;br /&gt;
== Get the source code ==&lt;br /&gt;
 $ git clone git://git.videolan.org/vlc.git&lt;br /&gt;
&lt;br /&gt;
== Prepare [[Contrib Status|3rd party libraries]]  ==&lt;br /&gt;
&lt;br /&gt;
Before compiling VLC, you need lots of other libraries. Here is how to get them: &lt;br /&gt;
&lt;br /&gt;
  $ mkdir -p contrib/win32&lt;br /&gt;
  $ cd contrib/win32&lt;br /&gt;
  $ ../bootstrap --host=i586-mingw32msvc&lt;br /&gt;
  $ make prebuilt&lt;br /&gt;
&lt;br /&gt;
=== Linux 64bits ===&lt;br /&gt;
&lt;br /&gt;
If you are on linux &#039;&#039;&#039;64bits&#039;&#039;&#039;, you &#039;&#039;&#039;MUST&#039;&#039;&#039; remove some files:&lt;br /&gt;
&lt;br /&gt;
  $ rm -f ../i586-mingw32msvc/bin/moc ../i586-mingw32msvc/bin/uic ../i586-mingw32msvc/bin/rcc&lt;br /&gt;
&lt;br /&gt;
And install your &#039;&#039;qt4-tools&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Fix your contrib path ===&lt;br /&gt;
&lt;br /&gt;
If your Mingw prefix is not &#039;&#039;i586-mingw32msvc&#039;&#039; (you are NOT on Debian or Ubuntu), create a symlink to contribs:&lt;br /&gt;
  $ ln -sf ../i586-mingw32msvc ../i486-mingw32&lt;br /&gt;
&lt;br /&gt;
=== Go Back  ===&lt;br /&gt;
&lt;br /&gt;
Go back to the VLC source directory: &lt;br /&gt;
&lt;br /&gt;
  $ cd -&lt;br /&gt;
&lt;br /&gt;
== Configuring the build  ==&lt;br /&gt;
&lt;br /&gt;
=== Bootstrap ===&lt;br /&gt;
First, prepare the tree:&lt;br /&gt;
  $ ./bootstrap&lt;br /&gt;
&lt;br /&gt;
=== Configure ===&lt;br /&gt;
Then, you can to configure the build with the &amp;lt;code&amp;gt;./configure&amp;lt;/code&amp;gt; script. &lt;br /&gt;
&lt;br /&gt;
Create a subfolder:&lt;br /&gt;
  $ mkdir win32 &amp;amp;&amp;amp; cd win32&lt;br /&gt;
&lt;br /&gt;
Use the standard configure: &lt;br /&gt;
 $ ../extras/package/win32/configure.sh --host=i586-mingw32msvc&lt;br /&gt;
&#039;&#039;&#039;NB&#039;&#039;&#039;: use &#039;&#039;&#039;YOUR&#039;&#039;&#039; Xcompiling prefix here, like &#039;&#039;i486-mingw32&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can also, just run configure manually:&lt;br /&gt;
 $ ../configure --with-contrib=/usr/win32 --host=i586-mingw32msvc&lt;br /&gt;
&lt;br /&gt;
See &amp;lt;code&amp;gt;&#039;../configure --help&#039;&amp;lt;/code&amp;gt; for more information.&lt;br /&gt;
&lt;br /&gt;
== Building VLC  ==&lt;br /&gt;
&lt;br /&gt;
Once configured, to build VLC, just run:&lt;br /&gt;
  $ make&lt;br /&gt;
&lt;br /&gt;
== Packaging VLC ==&lt;br /&gt;
Once the compilation is done, you can either run VLC directly from the source tree or you can build self-contained VLC packages with the following &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; rules: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command &lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win32-strip&amp;lt;/code&amp;gt; (might be package-win-strip) &lt;br /&gt;
| Creates a subdirectory named &amp;lt;code&amp;gt;vlc-x.x.x&amp;lt;/code&amp;gt; with all the binaries &#039;stripped&#039; (that is, smallest size, unusable with a debugger)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win32-7zip&amp;lt;/code&amp;gt; &lt;br /&gt;
| Same as above but will package the directory in a 7z file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win32-zip&amp;lt;/code&amp;gt; &lt;br /&gt;
| Same as above but will package the directory in a zip file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win32&amp;lt;/code&amp;gt; &lt;br /&gt;
| Same as above but will also create an auto-installer package. You must have NSIS installed in its default location for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Well done—you&#039;re ready to use VLC!&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
[[Category:Building]]&lt;/div&gt;</summary>
		<author><name>Tobias</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Win32Compile&amp;diff=16407</id>
		<title>Win32Compile</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Win32Compile&amp;diff=16407"/>
		<updated>2010-06-29T10:05:21Z</updated>

		<summary type="html">&lt;p&gt;Tobias: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to compile VLC for Windows&lt;br /&gt;
&lt;br /&gt;
== Before you start  ==&lt;br /&gt;
&lt;br /&gt;
One common desire that leads people to want to rebuild VLC is to &amp;quot;rebuild a debug version&amp;quot; or &amp;quot;add printf()s&amp;quot;, but this is not strictly necessary, as VLC includes a debug logging feature by default. If you are using a binary release (or have already built VLC), just run &amp;lt;code&amp;gt;&#039;vlc.exe&#039;&amp;lt;/code&amp;gt; and select &amp;quot;Messages...&amp;quot; from the &amp;quot;Tools&amp;quot; menu. &lt;br /&gt;
&lt;br /&gt;
You can also run VLC from the Windows command-line interpreter, &amp;lt;code&amp;gt;cmd.exe&amp;lt;/code&amp;gt; (a.k.a. &amp;quot;DOS window&amp;quot;), in which case you&#039;ll be able to use the command-line arguments. You can obtain a list of these command line arguments by typing &amp;lt;code&amp;gt;&#039;vlc --help&#039;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;&#039;vlc --help --advanced&#039;&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
To store a debug log of the current VLC session, you can use &amp;lt;code&amp;gt;&#039;vlc -vvv --extraintf=logger&#039;&amp;lt;/code&amp;gt;. You will end-up with a &amp;lt;code&amp;gt;vlc-log.txt&amp;lt;/code&amp;gt; file in your current directory. &lt;br /&gt;
&lt;br /&gt;
== Building VLC from source  ==&lt;br /&gt;
&lt;br /&gt;
If you want to build VLC from source, you have several choices: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Method &lt;br /&gt;
! Documentation &lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Cross-compile with Mingw32 on Linux &lt;br /&gt;
| None: read this page &lt;br /&gt;
| &#039;&#039;&#039;Preferred&#039;&#039;&#039; method (uses cross compilation)&lt;br /&gt;
|-&lt;br /&gt;
| Native-compile with [http://www.mingw.org MSYS+MINGW] &lt;br /&gt;
| [[Win32CompileMSYSNew]] &lt;br /&gt;
| &#039;&#039;&#039;Preferred&#039;&#039;&#039; native compilation method. MSYS is a minimal build environment to compile Unixish projects under Microsoft Windows. It provides all the commonly-required Unix tools (like sh, gmake, and so forth).&lt;br /&gt;
|-&lt;br /&gt;
| Native-compile with [http://www.cygwin.com Cygwin] &lt;br /&gt;
| [[Win32CompileCygwinNew]] &lt;br /&gt;
| &#039;&#039;&#039;OUTDATED&#039;&#039;&#039; native compilation method&lt;br /&gt;
|-&lt;br /&gt;
| Native-compile with Microsoft Visual C++ &lt;br /&gt;
| None &lt;br /&gt;
| &#039;&#039;&#039;Not advised.&#039;&#039;&#039; &lt;br /&gt;
Even though VLC includes some MSVC project files, this method is advised only if you just want to experiment/play with some basic functionality in VLC. VLC depends on a lot of third-party libraries and building them in MSVC is inconvenient (and in some cases, impossible). &amp;lt;br&amp;gt; If you want to run VLC under the MSVC debugger, use &amp;lt;code&amp;gt;--fast-mutex --win9x-cv-method=1&amp;lt;/code&amp;gt; because the debugger usually loses signals sent by PulseEvent(). &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Obtaining the build tools  ==&lt;br /&gt;
&lt;br /&gt;
Each build method requires its own toolchain: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Method &lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Cross-compile with mingw32 on GNU/Linux &lt;br /&gt;
| &lt;br /&gt;
*Debian/Ubuntu users can &amp;lt;code&amp;gt;apt-get install mingw32 mingw32-binutils&amp;lt;/code&amp;gt;, however building FFmpeg now requires mingw32-runtime &amp;amp;gt;= 3.15 and w32api &amp;amp;gt;= 3.13 so these will have to be updated manually. &lt;br /&gt;
*Gentoo users can &amp;lt;code&amp;gt;emerge crossdev &amp;amp;amp;&amp;amp;amp; crossdev mingw32&amp;lt;/code&amp;gt; &lt;br /&gt;
*Other systems may attempt http://www.mingw.org/wiki/LinuxCrossMinGW&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Native-compile with [http://www.mingw.org MSYS+MINGW] &lt;br /&gt;
| Read the [[Win32CompileMSYSNew|documentation]]&lt;br /&gt;
|-&lt;br /&gt;
| Native-compile with [http://www.cygwin.com Cygwin] &lt;br /&gt;
| Read the [[Win32CompileCygwinNew|documentation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 3rd party libraries.&amp;lt;br&amp;gt;  ==&lt;br /&gt;
&lt;br /&gt;
VLC modules requires numerous open source projects to work (like AC3 audio decoding or MPEG-4 video decoding). &lt;br /&gt;
&lt;br /&gt;
If you feel you must build these libraries from source, go to extras/contrib and read the README.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
If you want to save yourself a lot of time and energy, use the pre-built versions of these libraries. You may download them from http://people.videolan.org/~jb/Contribs/, named in fashion of contrib-&#039;&#039;&#039;yyyymmdd&#039;&#039;&#039;-win32-&#039;&#039;&#039;version&#039;&#039;&#039;-bin-gcc-&#039;&#039;&#039;gccversion&#039;&#039;&#039;-only.tar.bz2.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Install the pre-built libraries into the standard directories (/usr/win32/*) by using &amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;tar jxf contrib-20061122-win32-bin-gcc-3.4.5-only.tar.bz2 -C /&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
(Note the &amp;lt;code&amp;gt;&amp;quot;-C /&amp;quot;&amp;lt;/code&amp;gt;!) &lt;br /&gt;
&lt;br /&gt;
== Configuring the build  ==&lt;br /&gt;
&lt;br /&gt;
Once you&#039;ve got all the files you need in place, you need to configure the build with the &amp;lt;code&amp;gt;configure&amp;lt;/code&amp;gt; script. &lt;br /&gt;
&lt;br /&gt;
Good examples can be found in some files:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;extras/package/win32/configure-mingw.sh&lt;br /&gt;
&lt;br /&gt;
extras/package/win32/configure-msys.sh&lt;br /&gt;
&lt;br /&gt;
extras/package/win32/configure-common.sh&amp;lt;/pre&amp;gt; &lt;br /&gt;
See &amp;lt;code&amp;gt;&#039;./configure --help&#039;&amp;lt;/code&amp;gt; for more information.&lt;br /&gt;
&lt;br /&gt;
== Building VLC  ==&lt;br /&gt;
&lt;br /&gt;
Once configured, to build VLC, just run &amp;lt;code&amp;gt;&#039;make&#039;&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Once the compilation is done, you can either run VLC directly from the source tree or you can build self-contained VLC packages with the following &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; rules: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command &lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win32-base&amp;lt;/code&amp;gt; &lt;br /&gt;
| Creates a subdirectory named &amp;lt;code&amp;gt;vlc-x.x.x&amp;lt;/code&amp;gt; with all the binaries &#039;stripped&#039; (that is, smallest size, unusable with a debugger)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win32-zip&amp;lt;/code&amp;gt; &lt;br /&gt;
| Same as above but will package the directory in a zip file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;make package-win32&amp;lt;/code&amp;gt; &lt;br /&gt;
| Same as above but will also create an auto-installer package. You must have NSIS installed in its default location for this to work.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Well done—you&#039;re ready to use VLC!&#039;&#039;&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
[[Category:Building]]&lt;/div&gt;</summary>
		<author><name>Tobias</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Debug&amp;diff=16026</id>
		<title>Debug</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Debug&amp;diff=16026"/>
		<updated>2010-05-08T15:54:57Z</updated>

		<summary type="html">&lt;p&gt;Tobias: /* How to enable it */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When compiling {{VLC}}, you can compile a debug binary using &amp;lt;code&amp;gt;--enable-debug&amp;lt;/code&amp;gt; on the ./configure script.&lt;br /&gt;
&lt;br /&gt;
Those debug facts are common to every programs, not only VLC.&lt;br /&gt;
&lt;br /&gt;
== What it is used for ==&lt;br /&gt;
&lt;br /&gt;
Of course, the binary compiled in debug mode will or should behave like the release one (more or less). Differences are&lt;br /&gt;
* developers can cause VLC to crash when it reached a suspicious state for development purpose, while release version will not in the same suspicious state&lt;br /&gt;
* binary backtraces are meaningful in this mode since symbols are embedded in it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So its main usage is for developers to use debug-friendly binaries and to reproduce a crash and get its backtrace.&lt;br /&gt;
&lt;br /&gt;
== How to enable it ==&lt;br /&gt;
&lt;br /&gt;
As said above, you basicly just have to add &amp;lt;code&amp;gt;--enable-debug&amp;lt;/code&amp;gt; parameter at the [[configure|./configure]] stage. better is to also add &amp;lt;code&amp;gt;--disable-optimizations&amp;lt;/code&amp;gt; and not use &amp;lt;code&amp;gt;--enable-release&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Backtraces ==&lt;br /&gt;
&lt;br /&gt;
A backtrace is a snapshot of a process at the time it is about to crash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== What does it look like? ===&lt;br /&gt;
&lt;br /&gt;
Here is a debug-friendly backtrace:&lt;br /&gt;
 &#039;&#039;Program received signal SIGSEGV, Segmentation fault.&#039;&#039;&lt;br /&gt;
 &#039;&#039;[Switching to Thread 0xb22e9b90 (LWP 17982)]&#039;&#039;&lt;br /&gt;
 &#039;&#039;0xb7a965e8 in CDDAFormatTitle (p_access=0x842afe0, i_track=99 &#039;c&#039;) at info.c:630&#039;&#039;&lt;br /&gt;
 &#039;&#039;630     info.c: No such file or directory.&#039;&#039;&lt;br /&gt;
 &#039;&#039;        in info.c&#039;&#039;&lt;br /&gt;
 &#039;&#039;(gdb) bt full&#039;&#039;&lt;br /&gt;
 #0  0xb7a965e8 in CDDAFormatTitle (p_access=0x842afe0, i_track=99 &#039;c&#039;) at&lt;br /&gt;
 info.c:630&lt;br /&gt;
         psz_name = &amp;lt;value optimized out&amp;gt;&lt;br /&gt;
         config_varname = &amp;lt;value optimized out&amp;gt;&lt;br /&gt;
         p_cdda = &amp;lt;value optimized out&amp;gt;&lt;br /&gt;
         psz_mrl = 0x8277238 &amp;quot;cddax:///dev/sr0@T99&amp;quot;&lt;br /&gt;
 #1  0xb7a94b0f in CDDAReadBlocks (p_access=0x842afe0) at access.c:264&lt;br /&gt;
         psz_title = &amp;lt;value optimized out&amp;gt;&lt;br /&gt;
         go_on = &amp;lt;value optimized out&amp;gt;&lt;br /&gt;
         p_block = &amp;lt;value optimized out&amp;gt;&lt;br /&gt;
         p_cdda = (cdda_data_t *) 0x84323c0&lt;br /&gt;
         i_blocks = 20&lt;br /&gt;
         __func__ = &amp;quot;CDDAReadBlocks&amp;quot;&lt;br /&gt;
 [...]&lt;br /&gt;
 #6  0xb6acfe9c in Demux (p_demux=0x833dcb0) at ../../include/vlc_stream.h:189&lt;br /&gt;
         p_sys = (demux_sys_t *) 0x842eca8&lt;br /&gt;
         i_pos = &amp;lt;value optimized out&amp;gt;&lt;br /&gt;
         p_block = (block_t *) 0x859f380&lt;br /&gt;
 #7  0xb7f34bae in MainLoop (p_input=0x8429c08) at input/input.c:538&lt;br /&gt;
         b_force_update = 0&lt;br /&gt;
         i_ret = &amp;lt;value optimized out&amp;gt;&lt;br /&gt;
         i_type = 138588128&lt;br /&gt;
         val = {i_int = 1064861644, b_b..........= 0 &#039;\0&#039;, h = 0 &#039;\0&#039;}}&lt;br /&gt;
         i_intf_update = 1214500117823853&lt;br /&gt;
 #8  0xb7f362b2 in Run (p_input=0x8429c08) at input/input.c:444&lt;br /&gt;
 No locals.&lt;br /&gt;
 #9  0xb7e7917b in start_thread () from /lib/libpthread.so.0&lt;br /&gt;
 No symbol table info available.&lt;br /&gt;
 #10 0xb7ddb09e in clone () from /lib/libc.so.6&lt;br /&gt;
 No symbol table info available.&lt;br /&gt;
&lt;br /&gt;
And here is a not debug-friendly backtrace, unuseful in fact.&lt;br /&gt;
 &#039;&#039;Program received signal SIGSEGV, Segmentation fault.&#039;&#039;&lt;br /&gt;
 &#039;&#039;[Switching to Thread -1342661712 (LWP 8792)]&#039;&#039;&lt;br /&gt;
 &#039;&#039;0xb7db65ab in __module_Need () from /usr/lib/libvlc.so.0&#039;&#039;&lt;br /&gt;
 &#039;&#039;(gdb) bt&#039;&#039;&lt;br /&gt;
 #0  0xb7db65ab in __module_Need () from /usr/lib/libvlc.so.0&lt;br /&gt;
 #1  0xb7ec5c34 in ?? () from /usr/lib/libvlc.so.0&lt;br /&gt;
 #2  0xb5487553 in ?? ()&lt;br /&gt;
    from /usr/lib/vlc/stream_out/libstream_out_transcode_plugin.so&lt;br /&gt;
 #3  0x00000009 in ?? ()&lt;br /&gt;
 #4  0xb7ec3c74 in ?? () from /usr/lib/libvlc.so.0&lt;br /&gt;
 #5  0x0854bef8 in ?? ()&lt;br /&gt;
 #6  0x08525a00 in ?? ()&lt;br /&gt;
 #7  0xb7efaf04 in ?? () from /usr/lib/libvlc.so.0&lt;br /&gt;
 #8  0xb7dce493 in __vlc_object_release () from /usr/lib/libvlc.so.0&lt;br /&gt;
 #9  0x0000006f in ?? ()&lt;br /&gt;
 #10 0x00000003 in ?? ()&lt;br /&gt;
 #11 0x00000000 in ?? ()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see, developers can&#039;t cope with last backtrace.&lt;br /&gt;
&lt;br /&gt;
=== Is a backtrace enough to debug? ===&lt;br /&gt;
&lt;br /&gt;
It is not enough for someone else than you to fix a bug.&lt;br /&gt;
At least, you really should describe what you were doing, how to reproduce the bug if you can, etc.&lt;br /&gt;
&lt;br /&gt;
If you try to fix a bug with someone else or if you are asking help on your backtrace, better is really to use an up-to-date VLC source-code. Otherwise, say so and maybe give the commit ID/VLC tag you are working on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* Report_bugs&lt;br /&gt;
* VLC_report&lt;/div&gt;</summary>
		<author><name>Tobias</name></author>
	</entry>
</feed>