compiling for windows on GNU/Linux (Fedora 9)

Microsoft Windows specific usage questions
Forum rules
Please post only Windows specific questions in this forum category. If you don't know where to post, please read the different forums' rules. Thanks.
ramprasad85
Blank Cone
Blank Cone
Posts: 22
Joined: 30 Sep 2008 12:34

compiling for windows on GNU/Linux (Fedora 9)

Postby ramprasad85 » 24 Oct 2008 09:51

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

VLC_help
Mega Cone Master
Mega Cone Master
Posts: 25661
Joined: 13 Sep 2006 14:16

Re: compiling for windows on GNU/Linux (Fedora 9)

Postby VLC_help » 24 Oct 2008 12:05

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.

ramprasad85
Blank Cone
Blank Cone
Posts: 22
Joined: 30 Sep 2008 12:34

Re: compiling for windows on GNU/Linux (Fedora 9)

Postby ramprasad85 » 24 Oct 2008 14:23

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

VLC_help
Mega Cone Master
Mega Cone Master
Posts: 25661
Joined: 13 Sep 2006 14:16

Re: compiling for windows on GNU/Linux (Fedora 9)

Postby VLC_help » 25 Oct 2008 17:05

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.

ramprasad85
Blank Cone
Blank Cone
Posts: 22
Joined: 30 Sep 2008 12:34

Re: compiling for windows on GNU/Linux (Fedora 9)

Postby ramprasad85 » 28 Oct 2008 09:11

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

VLC_help
Mega Cone Master
Mega Cone Master
Posts: 25661
Joined: 13 Sep 2006 14:16

Re: compiling for windows on GNU/Linux (Fedora 9)

Postby VLC_help » 28 Oct 2008 16:58

You have multiple ws2tcpip.h files in your system?

ramprasad85
Blank Cone
Blank Cone
Posts: 22
Joined: 30 Sep 2008 12:34

Re: compiling for windows on GNU/Linux (Fedora 9)

Postby ramprasad85 » 29 Oct 2008 10:09

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

ramprasad85
Blank Cone
Blank Cone
Posts: 22
Joined: 30 Sep 2008 12:34

Re: compiling for windows on GNU/Linux (Fedora 9)

Postby ramprasad85 » 29 Oct 2008 10:12

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

VLC_help
Mega Cone Master
Mega Cone Master
Posts: 25661
Joined: 13 Sep 2006 14:16

Re: compiling for windows on GNU/Linux (Fedora 9)

Postby VLC_help » 29 Oct 2008 14:05

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

Code: Select all

#include <portaudio.h>

ramprasad85
Blank Cone
Blank Cone
Posts: 22
Joined: 30 Sep 2008 12:34

Re: compiling for windows on GNU/Linux (Fedora 9)

Postby ramprasad85 » 30 Oct 2008 16:56

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

VLC_help
Mega Cone Master
Mega Cone Master
Posts: 25661
Joined: 13 Sep 2006 14:16

Re: compiling for windows on GNU/Linux (Fedora 9)

Postby VLC_help » 31 Oct 2008 19:52

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.


Return to “VLC media player for Windows Troubleshooting”

Who is online

Users browsing this forum: No registered users and 52 guests