Page 1 of 1
compiling for windows on GNU/Linux (Fedora 9)
Posted: 24 Oct 2008 09:51
by ramprasad85
Hi
I downloaded the latest VLC source
then did yum-builddep vlc to install all the sources of the 3rd party libs required to build vlc
it installed around 90 dependancies like x264, ffmpeg etc etc (but not libavcodec)
I was able to build VLC for linux
i installed Mingw and tested it
i tried building VLC for windows using the following configure-vlc.sh
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/ramprasad/x264 \
CXXCPP=i586-mingw32msvc-cpp \
CC=i586-mingw32msvc-gcc \
CXX=i586-mingw32msvc-g++ \
./configure --host=i586-mingw32msvc --build=i386-linux \
--disable-gtk \
--disable-avcodec --disable-avformat --disable-swscale \
--disable-faad --disable-flac --disable-theora \
--disable-cddax --disable-vcdx --disable-goom \
--disable-twolame --disable-dvdread \
--enable-debug --disable-dca \
--disable-mkv --disable-taglib \
--disable-mad --disable-live555 \
--disable-postproc \
--enable-x264 --with-x264-tree=/home/ramprasad/x264 \
--disable-a52
when i do make
I am getting this error
/bin/sh ../libtool --tag=CC --mode=compile i586-mingw32msvc-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I../include -I../include -DSYS_MINGW32 `top_builddir=".." ../vlc-config --cflags libvlc` -DMODULE_STRING=\"main\" -DLOCALEDIR=\"/usr/local/share/locale\" -DSYSCONFDIR=\"/usr/local/etc\" -DDATA_PATH=\"/usr/local/share/vlc\" -DLIBDIR=\"/usr/local/lib\" -DPLUGIN_PATH=\"/usr/local/lib/vlc\" -mms-bitfields -Wall -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wmissing-prototypes -MT config/libvlccore_la-dirs.lo -MD -MP -MF config/.deps/libvlccore_la-dirs.Tpo -c -o config/libvlccore_la-dirs.lo `test -f 'config/dirs.c' || echo './'`config/dirs.c
i586-mingw32msvc-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I../include -I../include -DSYS_MINGW32 -I/usr/local/include -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -DDEBUG -D__LIBVLC__ -I../src/misc -g -O2 -ffast-math -funroll-loops -DMODULE_STRING=\"main\" -DLOCALEDIR=\"/usr/local/share/locale\" -DSYSCONFDIR=\"/usr/local/etc\" -DDATA_PATH=\"/usr/local/share/vlc\" -DLIBDIR=\"/usr/local/lib\" -DPLUGIN_PATH=\"/usr/local/lib/vlc\" -mms-bitfields -Wall -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wmissing-prototypes -MT config/libvlccore_la-dirs.lo -MD -MP -MF config/.deps/libvlccore_la-dirs.Tpo -c config/dirs.c -DDLL_EXPORT -DPIC -o config/.libs/libvlccore_la-dirs.o
config/dirs.c: In function `GetDir':
config/dirs.c:93: error: `SHGFP_TYPE_CURRENT' undeclared (first use in this function)
config/dirs.c:93: error: (Each undeclared identifier is reported only once
config/dirs.c:93: error: for each function it appears in.)
make[4]: *** [config/libvlccore_la-dirs.lo] Error 1
make[4]: Leaving directory `/home/ramprasad/win/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/ramprasad/win/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/ramprasad/win/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ramprasad/win'
make: *** [all] Error 2
Please tell me where i am wrong
Thank you
Re: compiling for windows on GNU/Linux (Fedora 9)
Posted: 24 Oct 2008 12:05
by VLC_help
There are some post that SHGFP_TYPE_CURRENT doesn't exist on mingw.
For whatever reason the header shlobj.h for MinGW that I have doesn't have SHGFP_TYPE_CURRENT defined, so that's kind of interesting.
Code: Select all
// Needed for MinGW:
#ifndef SHGFP_TYPE_CURRENT
#define SHGFP_TYPE_CURRENT 0
#endif
adding that to dirs.c hopefully helps.
Re: compiling for windows on GNU/Linux (Fedora 9)
Posted: 24 Oct 2008 14:23
by ramprasad85
Thank you. it worked.
after making that change i am getting this error
Creating library file: .libs/libvlccore.dll.a
network/.libs/libvlccore_la-udp.o(.text+0x1222): In function `net_SourceSubscribe':
/home/ramprasad/win/src/network/udp.c:493: undefined reference to `in6addr_any'
when i searched on the web, i found people relating this to gcc
[ramprasad@localhost win]$ i586-mingw32msvc-gcc -v
Reading specs from /usr/local/mingw/lib/gcc-lib/i586-mingw32msvc/3.3.1/specs
Configured with: ./configure --with-gcc --with-gnu-ld --with-gnu-as --host=i386-linux --target=i586-mingw32msvc --prefix=/usr/local/cross-tools --enable-threads --disable-nls --enable-languages=c,c++ --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchronization : (reconfigured) ./configure --with-gcc --with-gnu-ld --with-gnu-as --host=i386-linux --target=i586-mingw32msvc --prefix=/usr/local/cross-tools --enable-threads --disable-nls --enable-languages=c,c++ --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchronization : (reconfigured) ./configure --with-gcc --with-gnu-ld --with-gnu-as --host=i386-linux --target=i586-mingw32msvc --prefix=/usr/local/mingw --enable-threads --disable-nls --enable-languages=c,c++ --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchronization : (reconfigured) ./configure --with-gcc --with-gnu-ld --with-gnu-as --host=i386-linux --target=i586-mingw32msvc --prefix=/usr/local/mingw --enable-threads --disable-nls --enable-languages=c,c++ --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchronization
Thread model: win32
gcc version 3.3.1 (mingw special 20030804-1)
[ramprasad@localhost win]$ gcc -v
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-cpu=generic --build=i386-redhat-linux
Thread model: posix
gcc version 4.3.0 20080428 (Red Hat 4.3.0-8) (GCC)
what should i do now
Thank you very much
Re: compiling for windows on GNU/Linux (Fedora 9)
Posted: 25 Oct 2008 17:05
by VLC_help
Problem lies in IPv6 support. in6addr_any should be defined in ws2tcpip.h, so check that your ws2tcpip.h has it defined, but I suspect there is something wrong in VLC headers.
Re: compiling for windows on GNU/Linux (Fedora 9)
Posted: 28 Oct 2008 09:11
by ramprasad85
Hi
I believe it is defined
[ramprasad@localhost ~]$ grep in6addr_any /usr/local/mingw/include/ws2tcpip.h
extern const struct in6_addr in6addr_any;
I dont need ipv6 support in my VLC
How can i disable it
In vlc i typed ./configure --help to see the options
i could not spot any option relating to ipv6
should I do some thing in mingw
what am i to do
Thank you
Re: compiling for windows on GNU/Linux (Fedora 9)
Posted: 28 Oct 2008 16:58
by VLC_help
You have multiple ws2tcpip.h files in your system?
Re: compiling for windows on GNU/Linux (Fedora 9)
Posted: 29 Oct 2008 10:09
by ramprasad85
no i dont have multiple copies of that file.
[root@localhost ~]# updatedb
[root@localhost ~]# locate ws2tcpip.h
/usr/local/mingw/include/ws2tcpip.h
[root@localhost ~]#
I ran make again, and got the same error
Creating library file: .libs/libvlccore.dll.a
network/.libs/libvlccore_la-udp.o(.text+0x1222): In function `net_SourceSubscribe':
/home/ramprasad/win/src/network/udp.c:493: undefined reference to `in6addr_any'
make[4]: *** [libvlccore.la] Error 1
make[4]: Leaving directory `/home/ramprasad/win/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/ramprasad/win/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/ramprasad/win/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ramprasad/win'
make: *** [all] Error 2
in the file /usr/local/mingw/include/ws2tcpip.h
line number 194 has: extern const struct in6_addr in6addr_any;
as a temporary solution i removed the extern keywork
now the compilation proceeds
I am still on the lookout for the soulution for that issue.
next
I got the following error
srtp.c:40:20: gcrypt.h: No such file or directory
srtp.c:54: error: parse error before "gcry_cipher_hd_t"
srtp.c:54: warning: no semicolon at end of struct or union
srtp.c:55: warning: type defaults to `int' in declaration of `mac'
srtp.c:55: warning: data definition has no type or storage class
i have installed libgcrypt and also could locate /usr/include/gcrypt.h
so i added --disable-libgcrypt and consequently --disable-remoteosd
similarly i had to add --disable-libcddb --disable-dvdnav
now the current situation is
i586-mingw32msvc-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../include -DSYS_MINGW32 -I/usr/local/include -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__LIBVLC__ -D__PLUGIN__ -DMODULE_NAME=pulse -DMODULE_NAME_IS_pulse -DMODULE_STRING=\"pulse\" -O3 -ffast-math -funroll-loops -fomit-frame-pointer -D_REENTRANT -mms-bitfields -Wall -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wmissing-prototypes -MT libpulse_plugin_la-pulse.lo -MD -MP -MF .deps/libpulse_plugin_la-pulse.Tpo -c pulse.c -DDLL_EXPORT -DPIC -o .libs/libpulse_plugin_la-pulse.o
pulse.c:35:30: pulse/pulseaudio.h: No such file or directory
pulse.c:86: error: parse error before '*' token
pulse.c:87: error: parse error before '*' token
pulse.c:88: error: parse error before '*' token
pulse.c:89: error: parse error before '*' token
pulse.c:90: error: parse error before '*' token
pulse.c: In function `Open':
I added --disable-pulse and even all other audio related stuff
But am not able get this one away. please help me
Thank you
Re: compiling for windows on GNU/Linux (Fedora 9)
Posted: 29 Oct 2008 10:12
by ramprasad85
no i dont have multiple copies of that file.
[root@localhost ~]# updatedb
[root@localhost ~]# locate ws2tcpip.h
/usr/local/mingw/include/ws2tcpip.h
[root@localhost ~]#
I ran make again, and got the same error
Creating library file: .libs/libvlccore.dll.a
network/.libs/libvlccore_la-udp.o(.text+0x1222): In function `net_SourceSubscribe':
/home/ramprasad/win/src/network/udp.c:493: undefined reference to `in6addr_any'
make[4]: *** [libvlccore.la] Error 1
make[4]: Leaving directory `/home/ramprasad/win/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/ramprasad/win/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/ramprasad/win/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ramprasad/win'
make: *** [all] Error 2
in the file /usr/local/mingw/include/ws2tcpip.h
line number 194 has: extern const struct in6_addr in6addr_any;
as a temporary solution i removed the extern keywork
now the compilation proceeds
I am still on the lookout for a clean soulution for that issue.
next
I got the following error
srtp.c:40:20: gcrypt.h: No such file or directory
srtp.c:54: error: parse error before "gcry_cipher_hd_t"
srtp.c:54: warning: no semicolon at end of struct or union
srtp.c:55: warning: type defaults to `int' in declaration of `mac'
srtp.c:55: warning: data definition has no type or storage class
i have installed libgcrypt and also could locate /usr/include/gcrypt.h
so i added --disable-libgcrypt and consequently --disable-remoteosd
similarly i had to add --disable-libcddb --disable-dvdnav
now the current situation is
i586-mingw32msvc-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../include -DSYS_MINGW32 -I/usr/local/include -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__LIBVLC__ -D__PLUGIN__ -DMODULE_NAME=pulse -DMODULE_NAME_IS_pulse -DMODULE_STRING=\"pulse\" -O3 -ffast-math -funroll-loops -fomit-frame-pointer -D_REENTRANT -mms-bitfields -Wall -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wmissing-prototypes -MT libpulse_plugin_la-pulse.lo -MD -MP -MF .deps/libpulse_plugin_la-pulse.Tpo -c pulse.c -DDLL_EXPORT -DPIC -o .libs/libpulse_plugin_la-pulse.o
pulse.c:35:30: pulse/pulseaudio.h: No such file or directory
pulse.c:86: error: parse error before '*' token
pulse.c:87: error: parse error before '*' token
pulse.c:88: error: parse error before '*' token
pulse.c:89: error: parse error before '*' token
pulse.c:90: error: parse error before '*' token
pulse.c: In function `Open':
I added --disable-pulse and even all other audio related stuff
I tried using the --includedir=DIR --oldincludedir=DIR options and also tried adding /usr/include/pulse/ to CFLAGS.
all with no success.
[ramprasad@localhost ~]$ i586-mingw32msvc-gcc -print-search-dirs
install: /usr/local/mingw/lib/gcc-lib/i586-mingw32msvc/3.3.1/
programs: =/usr/local/mingw/lib/gcc-lib/i586-mingw32msvc/3.3.1/:/usr/local/mingw/lib/gcc-lib/i586-mingw32msvc/3.3.1/:/usr/local/mingw/lib/gcc-lib/i586-mingw32msvc/:/usr/lib/gcc/i586-mingw32msvc/3.3.1/:/usr/lib/gcc/i586-mingw32msvc/:/usr/local/mingw/lib/gcc-lib/i586-mingw32msvc/3.3.1/../../../../i586-mingw32msvc/bin/i586-mingw32msvc/3.3.1/:/usr/local/mingw/lib/gcc-lib/i586-mingw32msvc/3.3.1/../../../../i586-mingw32msvc/bin/
libraries: =/usr/local/mingw/lib/gcc-lib/i586-mingw32msvc/3.3.1/:/usr/lib/gcc/i586-mingw32msvc/3.3.1/:/usr/local/mingw/lib/gcc-lib/i586-mingw32msvc/3.3.1/../../../../i586-mingw32msvc/lib/i586-mingw32msvc/3.3.1/:/usr/local/mingw/lib/gcc-lib/i586-mingw32msvc/3.3.1/../../../../i586-mingw32msvc/lib/
am not able get this one away. please help me
Thank you
Re: compiling for windows on GNU/Linux (Fedora 9)
Posted: 29 Oct 2008 14:05
by VLC_help
My Cygwin/MIngW doesn't build libpulse_plugin_la-pulse because AFAIK it shouldn't be present in Windows builds.
And in pulse.c the include should be
Re: compiling for windows on GNU/Linux (Fedora 9)
Posted: 30 Oct 2008 16:56
by ramprasad85
I just retyped --disable-pulse in my config.vlc
it worked. i was surprised.
then I had to add few a more --disable s.
my config-vlc.sh files is like this
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/ramprasad/x264_win \
X264_LIBS= \
CXXCPP=i586-mingw32msvc-cpp \
CC="ccache i586-mingw32msvc-gcc" \
CXX=i586-mingw32msvc-g++ \
./configure -C \
--host=i586-mingw32msvc --build=i386-linux \
--disable-gtk \
--disable-avcodec --disable-avformat --disable-swscale \
--disable-faad --disable-flac --disable-theora \
--disable-cddax --disable-vcdx --disable-goom \
--disable-twolame --disable-dvdread \
--disable-debug --disable-dca \
--disable-mkv --disable-taglib \
--disable-mad --disable-live555 \
--disable-postproc \
--disable-a52 \
--disable-libgcrypt \
--disable-remoteosd \
--disable-libcddb \
--disable-dvdnav \
--disable-pulse \
--disable-libmpeg2 \
--disable-optimizations \
--disable-sdl \
--disable-qt4 --disable-skins2 \
--disable-freetype \
--disable-gnutls \
--disable-bonjour \
--disable-atmo \
--disable-directx \
--enable-x264 --with-x264-tree=/home/ramprasad/x264_win
Now i am getting this error
make[5]: Leaving directory `/home/ramprasad/winvlc/modules/codec/xvmc'
make[5]: Entering directory `/home/ramprasad/winvlc/modules/codec'
/bin/sh ../../libtool --tag=CC --mode=link ccache i586-mingw32msvc-gcc -std=gnu99 `top_builddir="../.." ../../vlc-config --cflags plugin libx264_plugin.la` -mms-bitfields -Wall -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wmissing-prototypes -pipe -rpath '/usr/local/lib/vlc/codec' -avoid-version -module -no-undefined -export-symbol-regex ^vlc_entry -shrext .dll `top_builddir="../.." ../../vlc-config --ldflags plugin libx264_plugin.la` -o libx264_plugin.la libx264_plugin_la-x264.lo `top_builddir="../.." ../../vlc-config -libs plugin libx264_plugin.la` ../../src/libvlccore.la -lmingw32
ccache i586-mingw32msvc-gcc -std=gnu99 -shared .libs/libx264_plugin_la-x264.o -L/usr/local/lib -lx264 -lpthread -L/home/ramprasad/x264_win ../../src/.libs/libvlccore.dll.a -lmingw32 -mms-bitfields -o .libs/libx264_plugin.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libx264_plugin.dll.a
/usr/local/mingw/lib/gcc-lib/i586-mingw32msvc/3.3.1/../../../../i586-mingw32msvc/bin/ld: cannot find -lpthread
make[5]: *** [libx264_plugin.la] Error 1
make[5]: Leaving directory `/home/ramprasad/winvlc/modules/codec'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/ramprasad/winvlc/modules/codec'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/ramprasad/winvlc/modules/codec'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/ramprasad/winvlc/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ramprasad/winvlc'
make: *** [all] Error 2
If i do --disable-x264 the compilation is SUCCESSFUL
But the whole purpose of me compiling VLC is to have my x264.
In x264 dir when i do ./configure i get
[ramprasad@localhost x264_win]$ ./configure
Platform: X86
System: LINUX
avis input: no
mp4 output: no
pthread: yes
gtk: no
debug: no
gprof: no
PIC: no
shared: no
visualize: no
You can run 'make' or 'make fprofiled' now.
so in x264 i did ./configure --disable-pthread and i got
[ramprasad@localhost x264_win]$ ./configure
Platform: X86
System: LINUX
avis input: no
mp4 output: no
pthread: no
gtk: no
debug: no
gprof: no
PIC: no
shared: no
visualize: no
You can run 'make' or 'make fprofiled' now.
but still i get the same error while compiling VLC.
is it possible to disable pthreads while configuring VLC?
I tried --disable-pthread in config-vlc.sh. configure accepted it. but i am still getting that error while doing make.
The x264 i am using works for Linux compilation but not for the one targeted for windows
Is it required to build x264 FOR windows?
After fighting with x264 for some time i did
./configure --host=i586-mingw32msvc --disable-avis-input --disable-pthread --extra-ldflags=-lm
but It says
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/dct-a.o common/i386/dct-a.asm
strip:common/i386/dct-a.o: File format not recognized
make: [common/i386/dct-a.o] Error 1 (ignored)
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/cpu-a.o common/i386/cpu-a.asm
strip:common/i386/cpu-a.o: File format not recognized
make: [common/i386/cpu-a.o] Error 1 (ignored)
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/pixel-a.o common/i386/pixel-a.asm
strip:common/i386/pixel-a.o: File format not recognized
make: [common/i386/pixel-a.o] Error 1 (ignored)
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/mc-a.o common/i386/mc-a.asm
strip:common/i386/mc-a.o: File format not recognized
make: [common/i386/mc-a.o] Error 1 (ignored)
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/mc-a2.o common/i386/mc-a2.asm
strip:common/i386/mc-a2.o: File format not recognized
make: [common/i386/mc-a2.o] Error 1 (ignored)
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/predict-a.o common/i386/predict-a.asm
strip:common/i386/predict-a.o: File format not recognized
make: [common/i386/predict-a.o] Error 1 (ignored)
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/pixel-sse2.o common/i386/pixel-sse2.asm
strip:common/i386/pixel-sse2.o: File format not recognized
make: [common/i386/pixel-sse2.o] Error 1 (ignored)
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/quant-a.o common/i386/quant-a.asm
strip:common/i386/quant-a.o: File format not recognized
make: [common/i386/quant-a.o] Error 1 (ignored)
yasm -O2 -f win32 -DPREFIX -DHAVE_SSE3 -Icommon/i386/ -o common/i386/deblock-a.o common/i386/deblock-a.asm
strip:common/i386/deblock-a.o: File format not recognized
make: [common/i386/deblock-a.o] Error 1 (ignored)
ar rc libx264.a common/mc.o common/predict.o common/pixel.o common/macroblock.o common/frame.o common/dct.o common/cpu.o common/cabac.o common/common.o common/mdate.o common/csp.o common/set.o common/quant.o encoder/analyse.o encoder/me.o encoder/ratecontrol.o encoder/set.o encoder/macroblock.o encoder/cabac.o encoder/cavlc.o encoder/encoder.o encoder/eval.o common/i386/mc-c.o common/i386/predict-c.o common/i386/dct-a.o common/i386/cpu-a.o common/i386/pixel-a.o common/i386/mc-a.o common/i386/mc-a2.o common/i386/predict-a.o common/i386/pixel-sse2.o common/i386/quant-a.o common/i386/deblock-a.o
ranlib libx264.a
gcc -o x264.exe x264.o matroska.o muxers.o libx264.a -lm -s
libx264.a(encoder.o): In function `x264_encoder_encode':
encoder.c:(.text+0x432e): undefined reference to `x264_stack_align'
libx264.a(mc.o): In function `x264_mc_init':
mc.c:(.text+0x1a23): undefined reference to `x264_mc_chroma_mmxext'
libx264.a(pixel.o): In function `x264_pixel_init':
pixel.c:(.text+0x5f19): undefined reference to `x264_pixel_ssd_16x16_mmx'
pixel.c:(.text+0x5f20): undefined reference to `x264_pixel_ssd_16x8_mmx'
pixel.c:(.text+0x5f27): undefined reference to `x264_pixel_ssd_8x16_mmx'
pixel.c:(.text+0x5f2e): undefined reference to `x264_pixel_ssd_8x8_mmx'
.
.
.
.
.
[many more undefined references]
Where have i gone wrong?
Thank you
Re: compiling for windows on GNU/Linux (Fedora 9)
Posted: 31 Oct 2008 19:52
by VLC_help
If you want to build Windows VLC, you have to build Windows x264.
http://www.oesf.org/forum/index.php?showtopic=4529 hopefully that helps
cannot find -lpthread issue.