INSTALL.win32 9.63 KB
Newer Older
1
$Id$
gbazin's avatar
 
gbazin committed
2

gbazin's avatar
   
gbazin committed
3
INSTALL file for the Windows9x/Me/NT4/2k/XP version of the VLC media player
4
5
6
7


Running VLC
===========
gbazin's avatar
 
gbazin committed
8

9
If you have already built VLC (see below) or are using a binary release,
gbazin's avatar
 
gbazin committed
10
11
just run 'vlc.exe'.

12
You can also run VLC from a dos command box, in which case you'll be able
gbazin's avatar
 
gbazin committed
13
to use the command line arguments. You can obtain a list of these command
gbazin's avatar
   
gbazin committed
14
15
line arguments by typing 'vlc --help' or 'vlc --help --advanced'.

16
To store a debug log of the current VLC session, you can use
gbazin's avatar
   
gbazin committed
17
18
'vlc -vv --extraintf=logger'. You will end-up with a vlc-log.txt file in
your current directory.
gbazin's avatar
 
gbazin committed
19

gbazin's avatar
   
gbazin committed
20
21
22
Additional documentation is available at http://www.videolan.org/doc/


23
24
Building VLC from the source code
=================================
gbazin's avatar
 
gbazin committed
25

gbazin's avatar
   
gbazin committed
26
27
28
If you want to build VLC from sources, you can do it in several ways:

- natively on Windows, using cygwin (www.cygwin.com) with or without the
29
  POSIX emulation layer. This is the preferred way to compile vlc if you want
gbazin's avatar
   
gbazin committed
30
  to do it on Windows.
31
  NOTE: This is the PREFERRED way of building VLC natively (the others
gbazin's avatar
   
gbazin committed
32
  are not as much tested so expect more difficulties with them).
gbazin's avatar
 
gbazin committed
33
34

- natively on Windows, using MSYS+MINGW (www.mingw.org)
35
  (MSYS is a minimal build environment to compile Unixish projects under
36
  windoze. It provides all the common Unix tools like sh, gmake...)
37
38
  Please note that the gettext utilities are not included in the default
  MSYS/MINGW packages so you won't be able to build VLC with i18n support.
gbazin's avatar
 
gbazin committed
39

gbazin's avatar
   
gbazin committed
40
41
- natively on Windows, using Microsoft Visual C++. Even though we provide some
  msvc project files with vlc, this method is advised only if you just want to
42
  experiment/play with some basic functionality in vlc. The reason for this
gbazin's avatar
   
gbazin committed
43
44
  is that vlc depends on a lot of 3rd party libraries and building them in
  MSVC is not convenient and sometimes even impossible.
gbazin's avatar
   
gbazin committed
45
46
47
  ( NOTE: if you want to run vlc under the msvc debugger, you need to run it
    with the --fast-mutex --win9x-cv-method=1 options because the debugger
    usually loses signals sent by PulseEvent() )
gbazin's avatar
   
gbazin committed
48

49
- or on GNU/Linux, using the mingw32 cross-compiler.
gbazin's avatar
 
gbazin committed
50

gbazin's avatar
   
gbazin committed
51
52
Getting the right compiler tools
================================
gbazin's avatar
 
gbazin committed
53
54

- cross-compiling with mingw32:
55
You first need to download a GNU/Linux cross-compiler version of mingw32.
gbazin's avatar
   
gbazin committed
56
57
58
59
60
61
62
63

For Debian GNU/Linux users, you can use the mingw32, mingw32-binutils and
mingw32-runtime packages.

Or you can use our mingw32 gcc-3.3.1 cross-compiler package:
http://www.videolan.org/pub/testing/win32/mingw-gcc3.3.1-linux-crosscompiler.tar.bz2 (requires libc6 >= 2.3.2).
You will need to extract this package in your root directory (everything will
be extracted in /usr/local/cross-tools).
gbazin's avatar
 
gbazin committed
64

gbazin's avatar
   
gbazin committed
65
66
67
- compiling natively on Windoze with cygwin:
You will need to download and run the setup.exe app from cygwin's web site
(www.cygwin.com). You will also need to make sure you install at least the
68
gcc-g++, gcc-mingw, mingw-runtime and win32-api packages.
gbazin's avatar
 
gbazin committed
69

gbazin's avatar
   
gbazin committed
70
- compiling natively on Windoze with MSYS+MINGW:
gbazin's avatar
   
gbazin committed
71
You will need to download and install the latest MSYS, MSYS-DTK and MINGW.
gbazin's avatar
   
gbazin committed
72
73
74
75
76
77
The installation is really easy. Begin with the MSYS auto-installer and once
this is done, extract MINGW into c:\msys\1.0\mingw. You also have to remember
to remove the make utility included with MINGW as it conflicts with the one
from MSYS (just rename or remove c:\msys\1.0\mingw\bin\make.exe).

http://www.mingw.org/download.shtml
78
http://prdownloads.sf.net/mingw/MSYS-1.0.9.exe
Rocky Bernstein's avatar
Rocky Bernstein committed
79
http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe
gbazin's avatar
   
gbazin committed
80
http://prdownloads.sf.net/mingw/msysDTK-1.0.1.exe
gbazin's avatar
 
gbazin committed
81

82
Getting the additional libraries
gbazin's avatar
   
gbazin committed
83
=================================
gbazin's avatar
 
gbazin committed
84

gbazin's avatar
   
gbazin committed
85
86
VLC depends on other libraries to provide some features like ac3 audio decoding
or mpeg4 video decoding, etc...
gbazin's avatar
 
gbazin committed
87

gbazin's avatar
   
gbazin committed
88
89
Depending on your needs you will have to compile/install some or all of these
external libraries.
gbazin's avatar
   
gbazin committed
90

gbazin's avatar
   
gbazin committed
91
They can be found here (source code):
92
http://download.videolan.org/pub/testing/contrib/
gbazin's avatar
   
gbazin committed
93

94
We also provide a package with all the libraries already compiled so it is
gbazin's avatar
   
gbazin committed
95
96
actually really easy to compile a full-featured version of vlc (these compiled
libraries will only work with mingw or cygwin):
97
http://download.videolan.org/pub/testing/win32/contrib-20040902-win32-bin-gcc3.3.1-only.tar.bz2 (Check out fo more recent versions at the same location). 
98

gbazin's avatar
   
gbazin committed
99
All you need to do is extract it in your root directory (the include files
gbazin's avatar
   
gbazin committed
100
and libraries will be put in /usr/win32). You can do this with the following
101
102
command: 

103
  tar xjvf contrib-20040902-win32-bin-gcc3.3.1-only.tar.bz2 -C /
104
105

Please note the "-C /". 
gbazin's avatar
   
gbazin committed
106
107
108

A complete list of the libraries on which we depend can be found here:
http://developers.videolan.org/vlc/
gbazin's avatar
   
gbazin committed
109

gbazin's avatar
 
gbazin committed
110
111
112
Configuring the build
=====================

gbazin's avatar
   
gbazin committed
113
114
Once you've got all the files you need in place, you need to configure the
build with the `./configure' script.
gbazin's avatar
 
gbazin committed
115

gbazin's avatar
   
gbazin committed
116
117
I'll assume that you are using the pre-compiled 3rd party libraries I'm
providing and that they are in /usr/win32.
gbazin's avatar
 
gbazin committed
118
119
120
121

If you are cross-compiling from Debian, you can use something
along those lines:

gbazin's avatar
   
gbazin committed
122
  ./bootstrap && \
123
124
  CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" \
  LDFLAGS=-L/usr/win32/lib \
gbazin's avatar
   
gbazin committed
125
  CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++ \
gbazin's avatar
   
gbazin committed
126
  ./configure --host=i586-mingw32msvc --build=i386-linux \
127
128
      --disable-gtk \
      --enable-nls --enable-sdl \
gbazin's avatar
   
gbazin committed
129
      --enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \
130
      --with-ffmpeg-zlib --enable-faad --enable-flac --enable-theora \
gbazin's avatar
   
gbazin committed
131
132
      --with-wx-config-path=/usr/win32/bin \
      --with-freetype-config-path=/usr/win32/bin \
gbazin's avatar
   
gbazin committed
133
134
135
136
137
      --with-fribidi-config-path=/usr/win32/bin \
      --enable-livedotcom --with-livedotcom-tree=/usr/win32/live.com \
      --enable-caca --with-caca-config-path=/usr/win32/bin \
      --with-xml2-config-path=/usr/win32/bin \
      --with-dvdnav-config-path=/usr/win32/bin \
gbazin's avatar
gbazin committed
138
      --disable-cddax --disable-vcdx --enable-goom \
gbazin's avatar
gbazin committed
139
      --enable-twolame --enable-dvdread \
gbazin's avatar
   
gbazin committed
140
      --enable-debug
gbazin's avatar
   
gbazin committed
141

gbazin's avatar
   
gbazin committed
142
143
144
145
146
147
148
149
150
If you are cross-compiling with our gcc-3.3.1 package, you can use something
along those lines:

  ./bootstrap && \
  PATH=/usr/local/mingw/bin:$PATH \
  CPPFLAGS=-I/usr/win32/include \
  LDFLAGS=-L/usr/win32/lib \
  CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++ \
  ./configure --host=i586-mingw32msvc --build=i386-linux \
151
152
      --disable-gtk \
      --enable-nls --enable-sdl \
gbazin's avatar
   
gbazin committed
153
      --enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \
154
      --with-ffmpeg-zlib --enable-faad --enable-flac --enable-theora \
gbazin's avatar
   
gbazin committed
155
156
157
      --with-wx-config-path=/usr/win32/bin \
      --with-freetype-config-path=/usr/win32/bin \
      --with-fribidi-config-path=/usr/win32/bin \
gbazin's avatar
   
gbazin committed
158
159
160
161
      --enable-livedotcom --with-livedotcom-tree=/usr/win32/live.com \
      --enable-caca --with-caca-config-path=/usr/win32/bin \
      --with-xml2-config-path=/usr/win32/bin \
      --with-dvdnav-config-path=/usr/win32/bin \
gbazin's avatar
gbazin committed
162
      --disable-cddax --disable-vcdx --enable-goom \
gbazin's avatar
gbazin committed
163
      --enable-twolame --enable-dvdread \
gbazin's avatar
   
gbazin committed
164
      --enable-debug
gbazin's avatar
   
gbazin committed
165

166
167
168
169
170
If you are using cygwin, you can build VLC with or without the POSIX
emulation layer. Without is usually better and with POSIX emulation
hasn't been tested in about a year or so. So to build without the
emulation layer, use something like this:

gbazin's avatar
   
gbazin committed
171
  ./bootstrap && \
172
173
  CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" \
  LDFLAGS=-L/usr/win32/lib \
gbazin's avatar
   
gbazin committed
174
  CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" \
gbazin's avatar
   
gbazin committed
175
  ./configure \
176
177
      --disable-gtk \
      --enable-nls --enable-sdl \
gbazin's avatar
   
gbazin committed
178
      --enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \
179
      --with-ffmpeg-zlib --enable-faad --enable-flac --enable-theora \
gbazin's avatar
   
gbazin committed
180
181
      --with-wx-config-path=/usr/win32/bin \
      --with-freetype-config-path=/usr/win32/bin \
gbazin's avatar
   
gbazin committed
182
      --with-fribidi-config-path=/usr/win32/bin \
gbazin's avatar
   
gbazin committed
183
184
185
186
      --enable-livedotcom --with-livedotcom-tree=/usr/win32/live.com \
      --enable-caca --with-caca-config-path=/usr/win32/bin \
      --with-xml2-config-path=/usr/win32/bin \
      --with-dvdnav-config-path=/usr/win32/bin \
gbazin's avatar
gbazin committed
187
      --disable-cddax --disable-vcdx --enable-goom \
gbazin's avatar
gbazin committed
188
      --enable-twolame --enable-dvdread \
gbazin's avatar
   
gbazin committed
189
190
      --enable-debug

gbazin's avatar
   
gbazin committed
191
If you want to use the emulation layer, then just omit the CC="gcc -mno-cygwin"
192
CXX="g++ -mno-cygwin" line. You're on your own though.
gbazin's avatar
   
gbazin committed
193

gbazin's avatar
   
gbazin committed
194
195
196
If you are compiling with MSYS/MINGW, then you can use something along those
lines:
  ./bootstrap && \
197
198
  CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" \
  LDFLAGS=-L/usr/win32/lib \
gbazin's avatar
   
gbazin committed
199
  ./configure \
200
201
      --disable-gtk \
      --enable-nls --enable-sdl \
gbazin's avatar
   
gbazin committed
202
      --enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \
203
      --with-ffmpeg-zlib --enable-faad --enable-flac --enable-theora \
gbazin's avatar
   
gbazin committed
204
205
      --with-wx-config-path=/usr/win32/bin \
      --with-freetype-config-path=/usr/win32/bin \
gbazin's avatar
   
gbazin committed
206
      --with-fribidi-config-path=/usr/win32/bin \
gbazin's avatar
   
gbazin committed
207
208
209
      --enable-caca --with-caca-config-path=/usr/win32/bin \
      --with-xml2-config-path=/usr/win32/bin \
      --with-dvdnav-config-path=/usr/win32/bin \
gbazin's avatar
gbazin committed
210
      --disable-cddax --disable-vcdx --enable-goom \
gbazin's avatar
gbazin committed
211
      --enable-twolame --enable-dvdread \
gbazin's avatar
   
gbazin committed
212
      --disable-mkv \
gbazin's avatar
   
gbazin committed
213
      --enable-debug
gbazin's avatar
 
gbazin committed
214

gbazin's avatar
   
gbazin committed
215
See `./configure --help' for more information.
gbazin's avatar
 
gbazin committed
216

gbazin's avatar
   
gbazin committed
217
218
Actually Compiling the VLC source
=================================
gbazin's avatar
 
gbazin committed
219

gbazin's avatar
   
gbazin committed
220
Once configured, to build VLC, just run `make'.
gbazin's avatar
 
gbazin committed
221

gbazin's avatar
   
gbazin committed
222
223
224
( If you are using our gcc-3.3.1 cross-compiler you'll need to use:
  PATH=/usr/local/mingw/bin:$PATH make )

225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
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
'make' rules:

  make package-win32-base
   will create a subdirectory named vlc-x.x.x with all the binaries
   'stripped' (ie. without any debugging symbols).

  make package-win32-zip
   Same as above but will package the directory in a zip file.

  make package-win32
   Same as above but will also create an auto-installer package. You will need
   to have NSIS installed in its default location for this to work.

240
Well done, now you're ready to use VLC!
Sam Hocevar's avatar
   
Sam Hocevar committed
241
=======================================