<?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=Hermann</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=Hermann"/>
	<link rel="alternate" type="text/html" href="https://wiki.videolan.org/Special:Contributions/Hermann/"/>
	<updated>2026-11-04T17:12:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Win32Compile&amp;diff=18915</id>
		<title>Win32Compile</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Win32Compile&amp;diff=18915"/>
		<updated>2011-03-24T14:21:51Z</updated>

		<summary type="html">&lt;p&gt;Hermann: cross compiled 1.1.8 today. added some notes that might be helpful&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) &amp;lt;br&amp;gt; &#039;&#039;Note: read [[Win32CompileFedora13]] if building on Fedora 13&#039;&#039;&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 gcc-mingw32 mingw32-binutils&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;apt-get build-dep vlc&amp;lt;/code&amp;gt; should download most of the needed libraries (according to the vlc version in the repositories), however building FFmpeg now requires mingw32-runtime &amp;amp;gt;= 3.17 and w32api &amp;amp;gt;= 3.13 so these might have to be updated manually. Install the lua compiler with &amp;lt;code&amp;gt;apt-get install lua5.1&amp;lt;/code&amp;gt;. &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;
| 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;
First of all, &amp;lt;code&amp;gt;./bootstrap&amp;lt;/code&amp;gt;.&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 (in [http://git.videolan.org/gitweb.cgi?p=vlc.git;a=tree git]). From the vlc source base directory run:&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;extras/package/win32/configure-mingw.sh&amp;lt;/code&amp;gt; for cross compiling with mingw32&lt;br /&gt;
*&amp;lt;code&amp;gt;extras/package/win32/configure-msys.sh&amp;lt;/code&amp;gt; for compiling with msys&lt;br /&gt;
*&amp;lt;code&amp;gt;extras/package/win32/configure-common.sh&amp;lt;/code&amp;gt;&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 &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>Hermann</name></author>
	</entry>
</feed>