I hope this will help!
[you won't need freetype.lib unless you want to compile plugin_misc_freetype.dll project.]
========================================================================
Developper Note
========================================================================
*** Building environnement ***
The targeted OS.
Before downloading any compiler or SDK, please choose the targeted OS for your compilation.
The OS can be chosen by watching your Pocket PC device :
if your platform is a Pocket PC 2002, your OS is Windows CE 3.0
if your platform is a Pocket PC 2003, your OS is Windows CE 4.0 or .NET
The compiler.
Vindows CE portage of VLC uses the Microsoft Embedded Visual C++ compiler (EVC).
This cross-compiler is freely given in Microsoft's website in the Embedded Visual Tools (EVT).
The Sowtware Development Kit (SDK)
Used by compiler, the SDK permits to build for a specifit CPU (ARM, ARMv4, MIPS, SH3, SH4, etc).
AS the compiler, the SDK has to be chosen according to the targeted OS.
ActiveSync
Please do not forget to install ActiveSync !
Windows CE 3.0
If your OS targeted is Windows CE 3.0, you should download EVC 3 and the Microsoft Pocket PC 2002 SDK (for ARM).
The compiled software will be able to work on Pocket PC 2002 and also on Pocket PC 2003 devices.
Windows CE 4.0
If your OS targeted is Windows CE 4.0, you should download EVC 4 and EVC4 Service Pack 3 and the Microsoft Pocket PC 2003 SDK (for ARMv4).
The compiled software will be able to work only on Pocket PC 2003 devices. But it will be faster than a software compiled for Windows CE 3.0
*** Working environnement ***
Since you have download EVC and SDK, you can download the sources of VLC and the extern libraries on sourceforge's website :
http://www.sourceforge.net/projects/vlcpocketpc
VLC-sources : contains the sources and the workspaces for EVC3 (PPC2002) and EVC4 (PPC2003).
STL_eVC : contains include files NEEDED by many VLC plugins for WinCE compilation.
Other zip files contains extern libraries sources and also workspaces for EV3 and EV4.
Each library is a static library NEEDED by specific plugins.
faad2-2.0 : is necessary for plugin_codec_faad.dll compilation (AAC codec).
ffmpeg-cvs-2004-04-16 : is necessary for plugin_codec_ffmpeg.dll compilation (MPEG 1/2/4, DivX, etc codec).
freetype-2.1.7 : is necessary for plugin_misc_freetype.dll compilation (truetype font management).
libmad-0.15.0b : is necessary for plugin_audiofilter_mpgatofixed32.dll compilation (MP3 codec).
libogg-1.0.1 : is necessary for plugin_demux_ogg.dll compilation (OGG demuxer).
libvorbis-1.0.1 : is necessary for plugin_codec_vorbis.dll compilation (OGG Vorbis codec).
mpeg2dec-0.4.0 : is necessary for plugin_codec_libmpeg2.dll compilation (MPEG 1/2 codec).
SDL-1.2.7 : is necessary for plugin_audiooutput_sdl.dll and plugin_videooutput_sdl.dll compilation.
Due to relative paths in project's settings, the directories of your working environnement should be as the following one :
faad2-2.0
-- libfaad
-- --libfaad2.vcw
ffmpeg-cvs-2004-04-16
-- libavcodec
-- -- libavcodec.vcw
freetype-2.1.7
-- evc
-- -- freetype.vcw
libmad-0.15.0b
-- evc
-- -- libmad.vcw
libogg-1.0.1
-- EVC
-- -- libogg.vcw
libvorbis-1.0.1
-- EVC
-- -- libvorbis.vcw
mpeg2dec-0.4.0
-- evc
-- -- libmpeg2.vcw
-- -- mpeg2dec.vcw
SDL-1.2.7
-- VisualCE
-- -- SDL
-- -- -- SDL.VCW
stl_EVC
vlc-0.7.1
-- EVC
-- -- VLC.vcw
Please do not forget stl_EVC files ! Especially if you have got errors such as "missing files ...".
*** First compilation ***
Open the VLC workspace "VLC.vcw" in the EVC directory of vlc-0.7.1
The workspace should be opened with EVC3 or EVC4.
In the left panel, you will see the list of projects.
One project is libVLC.vcp, the static library interfacing with VLC executable.
One project (the last one) is VLC.vcp, the executable.
Other projects are dynamic library (the plugins).
Select the Vlc project (the last one) and set it as the active project.
Set the active platform between the following one :
Pocket PC 2002 Device, Pocket PC 2002 Emulator, Pocket PC 2003 Device, Pocket PC 2003 Emulator
Set the active configuration between the following one :
Win32 (WCE ARM) Debug, Win32 (WCE ARM) Release, Win32 (WCE ARMV4) Debug, Win32 (WCE ARMV4) Release
Release mode is much faster. But Debug mode enables debugging with EVC.
Ready to build ! Build it !
*** Compilation Settings ***
Check the settings of VLC project.
In the "Debug" tab :
-download directory : \Program Files\VLC
this is the path where EVC will copy VLC.EXE in your Pocket PC.
if you watch the Settings of a plugin project, you will see \Program Files\VLC\plugins
-Program arguments : -vvv
this is the command option added to the .EXE when it is executed by EVC.
In the "C/C++" tab : select "Preprocessor" category
-Preprocessor Definitions :
contains necessary macros (WINCE,UNDER_CE,WIN32,__VLC__) for WinCE compilation
if you create a new plugin, do not forget to add the following macros : __PLUGIN__,WIN32,UNDER_CE,WINCE,MODULE_NAME=XXX,MODULE_NAME_IS_XXX,__VLC__
Moreover the plugins using extern libraries need more macros.
-Additionnal Include Directory : .,../include,../../stl_eVC
the plugins using extern libraries need more include directories.
In the "Link" tab : select "Input" category
-Object/library modules :
where are added the extern library (winsock.lib, gx.lib, SDL.lib, ...)
-Additionnal library path :
where are the path of the libraries
*** GOOD LUCK ***
For more information, please do not hesitate to ask me at
cedric_marodon@yahoo.fr
or send a post in VLC forum
http://www.sourceforge.net/projects/vlcpocketpc
or
http://www.videolan.org