[Xvid-devel] Compilation of Latest SVN

Brendan Brewster brendan.brewster at gmail.com
Fri Jul 20 06:21:51 CEST 2012


Apologies but I'm thinking that this list doesn't allow the attachment so
am providing it in-line just in case.

$ more xvid_120719.patch
diff -urN xvidcore_120719.orig/dshow/Makefile xvidcore/dshow/Makefile
--- xvidcore_120719.orig/dshow/Makefile 2012-07-19 23:41:58.000000000 -0400
+++ xvidcore/dshow/Makefile     2012-07-19 23:47:12.000000000 -0400
@@ -112,7 +112,7 @@
                        $(OBJECTS) xvid.ax.def \
                        -L$(DXTREE)/Lib -lstrmiids \
                        $(DXBASECLASSES)/strmbase.lib \
-                       -luuid -lwinmm -lole32 -loleaut32 -lcomctl32
-lstdc++
+                       -luuid -lwinmm -lole32 -loleaut32 -lcomctl32
-lstdc++ -lgdi32

 clean:
        @echo "  Cl: Object files and target lib"
diff -urN xvidcore_120719.orig/dshow/src/CXvidDecoder.h
xvidcore/dshow/src/CXvidDecoder.h
--- xvidcore_120719.orig/dshow/src/CXvidDecoder.h       2012-07-19
23:41:57.000000000 -0400
+++ xvidcore/dshow/src/CXvidDecoder.h   2012-07-19 23:49:09.375000000 -0400
@@ -29,6 +29,10 @@
 #include <xvid.h>
 #include "IXvidDecoder.h"

+#ifndef HWND_MESSAGE
+#define HWND_MESSAGE ((HWND)-3)
+#endif
+
 #define XVID_NAME_L            L"Xvid MPEG-4 Video Decoder"

 /* --- fourcc --- */

Thanks again!
Brendan

On Fri, Jul 20, 2012 at 12:18 AM, Brendan Brewster <
brendan.brewster at gmail.com> wrote:

> Hi,
>
> I am using a moderately older version of MinGW and have not had any true
> problems compiling XviD in the past.
>
> I obtained the latest SVN (first time in a long while), compiled the
> xvidcore.dll and xvidvfw.dll fine but had issues compiling the dshow module.
>
> $ make DXTREE=/d/dx90/
>   D: =build
>   C: ./config.c
>   C: ./debug.c
>   C: ./Configure.cpp
> In file included from <command line>:3:
> d:/dx90/mingw_dshow_port.h:6:1: warning: "_WINGDI_" redefined
> In file included from
> d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/windows.h:52,
>                  from
> d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/rpc.h:2,
>                  from
> d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/wtypes.h:1,
>                  from d:/dx90/mingw_dshow_port.h:1,
>                  from <command line>:3:
> d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/wingdi.h:3:1:
> warning: this is the location of the previous definition
>   C: ./CAbout.cpp
> In file included from <command line>:3:
> d:/dx90/mingw_dshow_port.h:6:1: warning: "_WINGDI_" redefined
> In file included from
> d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/windows.h:52,
>                  from
> d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/rpc.h:2,
>                  from
> d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/wtypes.h:1,
>                  from d:/dx90/mingw_dshow_port.h:1,
>                  from <command line>:3:
> d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/wingdi.h:3:1:
> warning: this is the location of the previous definition
>   C: ./CXvidDecoder.cpp
> In file included from <command line>:3:
> d:/dx90/mingw_dshow_port.h:6:1: warning: "_WINGDI_" redefined
> In file included from
> d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/windows.h:52,
>                  from
> d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/rpc.h:2,
>                  from
> d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/wtypes.h:1,
>                  from d:/dx90/mingw_dshow_port.h:1,
>                  from <command line>:3:
> d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/wingdi.h:3:1:
> warning: this is the location of the previous definition
> src/CXvidDecoder.cpp: In member function `virtual long int
> CXvidDecoder::CompleteConnect(PIN_DIRECTION, IPin*)':
> src/CXvidDecoder.cpp:966: error: `HWND_MESSAGE' was not declared in this
> scope
> make: *** [CXvidDecoder.obj] Error 1
>
> I patched CXvidDecoder.h as follows (to define HWND_MESSAGE if needed).
>
> $ diff -u src/CXvidDecoder.h.v0 src/CXvidDecoder.h
> --- src/CXvidDecoder.h.v0       2012-07-19 23:41:58.000000000 -0400
> +++ src/CXvidDecoder.h  2012-07-19 23:49:09.375000000 -0400
> @@ -29,6 +29,10 @@
>  #include <xvid.h>
>  #include "IXvidDecoder.h"
>
> +#ifndef HWND_MESSAGE
>  +#define HWND_MESSAGE ((HWND)-3)
> +#endif
> +
>  #define XVID_NAME_L            L"Xvid MPEG-4 Video Decoder"
>
>  /* --- fourcc --- */
>
> I then retried make.
>
> $ make DXTREE=/d/dx90/
>   C: ./CXvidDecoder.cpp
> In file included from <command line>:3:
> d:/dx90/mingw_dshow_port.h:6:1: warning: "_WINGDI_" redefined
> In file included from
> d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/windows.h:52,
>                  from
> d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/rpc.h:2,
>                  from
> d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/wtypes.h:1,
>                  from d:/dx90/mingw_dshow_port.h:1,
>                  from <command line>:3:
> d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/wingdi.h:3:1:
> warning: this is the location of the previous definition
>   W: ./xvid.ax.rc
>   L: xvid.ax
> Creating library file: xvid.ax.a
> CXvidDecoder.obj:CXvidDecoder.cpp:(.text+0x1b9b): undefined reference to
> `GetStockObject at 4'
> collect2: ld returned 1 exit status
> make: *** [xvid.ax] Error 1
>
> So, I then patched the Makefile after some further research as follows (to
> pick up the gdi32 lib).
>
> $ diff -u Makefile.v0 Makefile
> --- Makefile.v0 2012-07-19 23:41:58.000000000 -0400
> +++ Makefile    2012-07-19 23:47:12.000000000 -0400
> @@ -112,7 +112,7 @@
>                         $(OBJECTS) xvid.ax.def \
>                         -L$(DXTREE)/Lib -lstrmiids \
>                         $(DXBASECLASSES)/strmbase.lib \
> -                       -luuid -lwinmm -lole32 -loleaut32 -lcomctl32
> -lstdc++
> +                       -luuid -lwinmm -lole32 -loleaut32 -lcomctl32
> -lstdc++ -lgdi32
>
>  clean:
>         @echo "  Cl: Object files and target lib"
>
> As can be seen, I was then able to successfully build xvid.ax.
>
> $ make DXTREE=/d/dx90/
>   L: xvid.ax
> Creating library file: xvid.ax.a
>
> Is this just due to changes in XviD and given my old tool chain or am I
> just doing something wrong?
>
> I am attaching a patch [xvid_120719.patch] with the above mods that allows
> me to build in my environment.
>
> Please let me know if you have any thoughts or if there is any further
> info I can provide.
>
> Thanks,
> Brendan
>


More information about the Xvid-devel mailing list