cross compilation for windows from ubuntu
Posted: 20 Aug 2012 10:56
Hi all,
I would like to cross compile VLC for windows 32 bits from Ubuntu 64 bits desktop and does not succeed using the following wiki:
http://wiki.videolan.org/Win32Compile
My Ubuntu desktop :
# uname -a
Linux pcneslog4 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
I use the HostTriplet="i686-w64-mingw32"
I have installed:
sudo apt-get install git subversion cvs yasm cmake
sudo apt-get install gcc-mingw-w64 g++-mingw-w64
sudo apt-get install lua5.1 libtool automake autoconf autopoint make gettext zip p7zip nsis bzip2
sudo apt-get install g++
sudo apt-get install qt4-dev-tools
Everything is going well until the step "Building VLC".
I got the following errors:
CCLD liblibass_plugin.la
Creating library file: .libs/liblibass_plugin.dll.a/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0x253): undefined reference to `__imp__AddFontMemResourceEx@16'
/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0x2d6): undefined reference to `__imp__RemoveFontMemResourceEx@4'
/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0x5aa): undefined reference to `__imp__CreateFontIndirectW@4'
/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0x623): undefined reference to `__imp__SelectObject@8'
/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0x6c4): undefined reference to `__imp__DeleteObject@4'
/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0x6e1): undefined reference to `_ScriptFreeCache@4'
/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0xa50): undefined reference to `_ScriptItemizeOpenType@32'
/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0xc87): undefined reference to `_ScriptShapeOpenType@64'
/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0xfd9): undefined reference to `_ScriptPlaceOpenType@72'
collect2: ld returned 1 exit status
AddFontMemResourceEx come from Gdi32.dll according to:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
It seams that the gdi32 lib is missing or is not found.
I can find it there:
# locate gdi32
/usr/i686-w64-mingw32/lib/libgdi32.a
/usr/x86_64-w64-mingw32/lib/libgdi32.a
I tried to add the gdi32 to libass in the configure.ac file:
if test "${SYS}" = "mingw32"; then
VLC_ADD_LIBS([libass],[-lgdi32])
fi
then bootstrap, configure and make, but still does not work
somebody can help me?
Thanks
I would like to cross compile VLC for windows 32 bits from Ubuntu 64 bits desktop and does not succeed using the following wiki:
http://wiki.videolan.org/Win32Compile
My Ubuntu desktop :
# uname -a
Linux pcneslog4 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
I use the HostTriplet="i686-w64-mingw32"
I have installed:
sudo apt-get install git subversion cvs yasm cmake
sudo apt-get install gcc-mingw-w64 g++-mingw-w64
sudo apt-get install lua5.1 libtool automake autoconf autopoint make gettext zip p7zip nsis bzip2
sudo apt-get install g++
sudo apt-get install qt4-dev-tools
Everything is going well until the step "Building VLC".
I got the following errors:
CCLD liblibass_plugin.la
Creating library file: .libs/liblibass_plugin.dll.a/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0x253): undefined reference to `__imp__AddFontMemResourceEx@16'
/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0x2d6): undefined reference to `__imp__RemoveFontMemResourceEx@4'
/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0x5aa): undefined reference to `__imp__CreateFontIndirectW@4'
/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0x623): undefined reference to `__imp__SelectObject@8'
/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0x6c4): undefined reference to `__imp__DeleteObject@4'
/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0x6e1): undefined reference to `_ScriptFreeCache@4'
/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0xa50): undefined reference to `_ScriptItemizeOpenType@32'
/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0xc87): undefined reference to `_ScriptShapeOpenType@64'
/home/share/projets/vlc/workspace/vlc_pcneslog4_git_buildconfig/contrib/i686-w64-mingw32/lib/libharfbuzz.a(libharfbuzz_la-hb-uniscribe.o):hb-uniscribe.cc:(.text+0xfd9): undefined reference to `_ScriptPlaceOpenType@72'
collect2: ld returned 1 exit status
AddFontMemResourceEx come from Gdi32.dll according to:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
It seams that the gdi32 lib is missing or is not found.
I can find it there:
# locate gdi32
/usr/i686-w64-mingw32/lib/libgdi32.a
/usr/x86_64-w64-mingw32/lib/libgdi32.a
I tried to add the gdi32 to libass in the configure.ac file:
if test "${SYS}" = "mingw32"; then
VLC_ADD_LIBS([libass],[-lgdi32])
fi
then bootstrap, configure and make, but still does not work
somebody can help me?
Thanks