[XviD-devel] dshow gcc-3.3.1 patch
Reini Urban
rurban at x-ray.at
Thu Aug 5 17:41:07 CEST 2004
I had to add one more tiny patch to dshow/Makefile to let actually
xvid.ax compile:
add the --allow-multiple-definition linker flag, because
I get
multiple definition of `_QACONTAINERFLAGS'
CAbout.obj(.bss+0x0):CAbout.cpp: first defined here
/cygdrive/p/DX90SDK/Samples/C++/DirectShow/BaseClasses/strmbase.lib(ddmm.o)(.bss+0x0):ddmm.cpp:
multiple definition of `_QACONTAINERFLAGS'
CAbout.obj(.bss+0x0):CAbout.cpp: first defined here
in about all strmbase.lib object files. (new stream.h in the dx90 summer
2004 update ?)
attached is the accumulated patch.
I added the dshow filter also to my daily mingw builds at
http://xarch.tu-graz.ac.at/home/rurban/software/xvid/
Reini Urban schrieb:
> I needed the following patch to be able to compile the dx90 baseclass
> library strmbase.lib
>
> latest dx90 update: summer 2004 (dxsdk_sum2004.exe)
> latest cygwin gcc release 3.3.1
>
> I guess the I64 suffix is gcc-3.4 or MSVC7 specific.
> MSVC6 also didn't want this.
--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/
-------------- next part --------------
--- xvidcore/dshow/dxpatch/dx90sdk-update-gcc.patch.orig 2004-07-27 22:15:37.000000000 +0100
+++ xvidcore/dshow/dxpatch/dx90sdk-update-gcc.patch 2004-08-05 14:47:09.720239800 +0100
@@ -58,7 +58,7 @@
+RANLIB=ranlib
+
+CXX=g++
-+CXXFLAGS=-O2 -fno-for-scope -mthreads
++CXXFLAGS=-O2 -fno-for-scope -mthreads -mno-cygwin
+
+all: $(LIB)
+
@@ -154,7 +154,7 @@
diff -burN /c/DX90SDK-orig/Samples/C++/DirectShow/BaseClasses/refclock.h ./Samples/C++/DirectShow/BaseClasses/refclock.h
--- /c/DX90SDK-orig/Samples/C++/DirectShow/BaseClasses/refclock.h Mon Aug 18 16:03:32 2003
+++ ./Samples/C++/DirectShow/BaseClasses/refclock.h Tue Jul 27 20:42:25 2004
-@@ -14,7 +14,11 @@
+@@ -14,8 +14,12 @@
const UINT RESOLUTION = 1; /* High resolution timer */
const INT ADVISE_CACHE = 4; /* Default cache size */
@@ -166,6 +166,17 @@
inline LONGLONG WINAPI ConvertToMilliseconds(const REFERENCE_TIME& RT)
{
+--- /c/DX90SDK-orig/Samples/C++/DirectShow/BaseClasses/refclock.h Mon Aug 18 16:03:32 2003
++++ ./Samples/C++/DirectShow/BaseClasses/refclock.h Tue Jul 27 20:42:25 2004
+@@ -168,2 +168,2 @@
+ protected:
+ CAMSchedule * const m_pSchedule;
+
+- void Restart (IN REFERENCE_TIME rtMinTime = 0I64) ;
++ void Restart (IN REFERENCE_TIME rtMinTime = 0/*I64*/) ;
+ };
+
+ #endif
diff -ur /c/DX90SDK-orig/Samples/C++/DirectShow/BaseClasses/streams.h.orig ./Samples/C++/DirectShow/BaseClasses/streams.h
--- /c/DX90SDK-orig/Samples/C++/DirectShow/BaseClasses/streams.h 2004-07-27 23:04:18.000000000 +0200
+++ ./Samples/C++/DirectShow/BaseClasses/streams.h 2004-07-27 23:03:57.000000000 +0200
--- xvidcore/dshow/Makefile~ 2004-07-25 12:13:16.000000000 +0100
+++ xvidcore/dshow/Makefile 2004-08-05 16:13:49.557901000 +0100
@@ -109,14 +109,13 @@
@cp $(SRC_DIR)/xvid.ax.def $(BUILD_DIR)/xvid.ax.def
@cd $(BUILD_DIR) && \
$(CC) $(LDFLAGS) \
- -mno-cygwin -shared -Wl,-dll,--out-implib,$@.a,--enable-stdcall-fixup \
+ -mno-cygwin -shared -Wl,-dll,--out-implib,$@.a,--enable-stdcall-fixup,--allow-multiple-definition \
-o $@ \
$(OBJECTS) xvid.ax.def \
-L$(DXTREE)/Lib -lstrmiids \
$(DXBASECLASSES)/strmbase.lib \
-luuid -lwinmm -lole32 -loleaut32 -lcomctl32 -lstdc++
-
clean:
@echo " Cl: Object files and target lib"
@$(RM) $(BUILD_DIR)
More information about the XviD-devel
mailing list