Log in

View Full Version : Anyone can teach me how to compile avs2avi with mingw?


leiming2006
13th January 2008, 05:24
Hi, there. I'm new in C language and try to learn some at present.
I try to compile avs2avi with mingw, but failed.
I opened avs2avi.cpp in dev-cpp and compile it, but the message below comes out then stopped:

g++.exe "C:\avs2avi\avs2avi.cpp" -o "C:\avs2avi\avs2avi.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
In file included from C:\avs2avi\/OutputAvi.h:2,
from C:\avs2avi\avs2avi.cpp:29:
C:\avs2avi\/outputformat.h:8:3: warning: no newline at end of file
In file included from C:\avs2avi\/OutputAvi.h:3,
from C:\avs2avi\avs2avi.cpp:29:
C:\avs2avi\/virtualdub\AVIOutput.h: In member function `void* AVIOutputStream::allocFormat(LONG)':C:\avs2avi\/virtualdub\AVIOutput.h:54: warning: deleting `void*' is undefinedC:\avs2avi\avs2avi.cpp: In function `void WriteThread()':
C:\avs2avi\avs2avi.cpp:1333: error: `__min' undeclared (first use this function)
C:\avs2avi\avs2avi.cpp:1333: error: (Each undeclared identifier is reported only once for each function it appears in.)C:\avs2avi\avs2avi.cpp: In function `void StatsThread()':
C:\avs2avi\avs2avi.cpp:1397: warning: converting of negative value `-0x000000001' to `unsigned int'Execution terminated

then I added the two lines, tried again:

#define __max(a,b) (((a) > (b)) ? (a) : (b))
#define __min(a,b) (((a) < (b)) ? (a) : (b))

still failed

g++.exe "C:\Documents and Settings\stu\桌面\avs2avi\avs2avi.cpp" -o "C:\Documents and Settings\stu\桌面\avs2avi\avs2avi.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
In file included from C:\Documents and Settings\stu\桌面\avs2avi\/OutputAvi.h:2,
from C:\Documents and Settings\stu\桌面\avs2avi\avs2avi.cpp:31:
C:\Documents and Settings\stu\桌面\avs2avi\/outputformat.h:8:3: warning: no newline at end of file
In file included from C:\Documents and Settings\stu\桌面\avs2avi\/OutputAvi.h:3,
from C:\Documents and Settings\stu\桌面\avs2avi\avs2avi.cpp:31:
C:\Documents and Settings\stu\桌面\avs2avi\/virtualdub\AVIOutput.h: In member function `void* AVIOutputStream::allocFormat(LONG)':

C:\Documents and Settings\stu\桌面\avs2avi\/virtualdub\AVIOutput.h:54: warning: deleting `void*' is undefined

C:\Documents and Settings\stu\桌面\avs2avi\avs2avi.cpp: In function `void StatsThread()':
C:\Documents and Settings\stu\桌面\avs2avi\avs2avi.cpp:1399: warning: converting of negative value `-0x000000001' to `unsigned int'

C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0xa44):avs2avi.cpp: undefined reference to `_imp__PathFileExistsA@4'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0xaf0):avs2avi.cpp: undefined reference to `_imp__PathFileExistsA@4'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0xb29):avs2avi.cpp: undefined reference to `_imp__PathRemoveFileSpecA@4'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0xbc7):avs2avi.cpp: undefined reference to `_imp__PathFindExtensionA@4'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0xc2e):avs2avi.cpp: undefined reference to `_imp__PathRenameExtensionA@8'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0xca2):avs2avi.cpp: undefined reference to `_imp__PathFileExistsA@4'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x1489):avs2avi.cpp: undefined reference to `ICGetInfo@12'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x1575):avs2avi.cpp: undefined reference to `ICCompressorChoose@24'

C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x16ce):avs2avi.cpp: undefined reference to `ICOpen@12'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x176c):avs2avi.cpp: undefined reference to `ICCompressorFree@4'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x1784):avs2avi.cpp: undefined reference to `ICCompressorFree@4'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x1795):avs2avi.cpp: undefined reference to `AVIFileInit@0'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x17b8):avs2avi.cpp: undefined reference to `AVIFileOpenA@16'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x17f7):avs2avi.cpp: undefined reference to `AVIFileGetStream@16'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x1858):avs2avi.cpp: undefined reference to `AVIStreamReadFormat@16'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x18a4):avs2avi.cpp: undefined reference to `AVIStreamInfoA@12'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x18d6):avs2avi.cpp: undefined reference to `AVIStreamRelease@4'

C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x18f9):avs2avi.cpp: undefined reference to `AVIFileRelease@4'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x190b):avs2avi.cpp: undefined reference to `AVIFileExit@0'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x1b4b):avs2avi.cpp: undefined reference to `OutputAvi::OutputAvi(char*, _AVISTREAMINFOA*, tagBITMAPINFOHEADER*)'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x1bca):avs2avi.cpp: undefined reference to `ICSendMessage@16'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x1c1c):avs2avi.cpp: undefined reference to `ICSendMessage@16'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x1c9e):avs2avi.cpp: undefined reference to `OutputAvi::OutputAvi(char*, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, tagBITMAPINFOHEADER*)'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x1d34):avs2avi.cpp: undefined reference to `OutputLog::OutputLog(char*)'

C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x1e31):avs2avi.cpp: undefined reference to `ICSendMessage@16'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x2123):avs2avi.cpp: undefined reference to `ICOpen@12'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x217f):avs2avi.cpp: undefined reference to `ICSendMessage@16'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x2276):avs2avi.cpp: undefined reference to `ICSendMessage@16'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x22ae):avs2avi.cpp: undefined reference to `ICSendMessage@16'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x24c8):avs2avi.cpp: undefined reference to `AVIStreamRead@28'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x252a):avs2avi.cpp: undefined reference to `AVIStreamRead@28'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x25c1):avs2avi.cpp: undefined reference to `AVIStreamFindSample@12'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x27a3):avs2avi.cpp: undefined reference to `ICSeqCompressFrameStart@8'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x28e3):avs2avi.cpp: undefined reference to `ICSeqCompressFrame@20'
C:\DOCUME~1\stu\LOCALS~1\Temp/ccEXbaaa.o(.text+0x29bf):avs2avi.cpp: undefined reference to `ICSeqCompressFrameEnd@4'
collect2: ld returned 1 exit status

Execution terminated


How can I build avs2avi.exe with mingw?

20-40
14th January 2008, 17:48
AVS2AVI was (old ones) and is a MS Visual Studio project and cannot be (as is) compiled with GCC compilers (as you have tried it within Dev-Cpp because this nice IDE can import some MS V.S projects).
You need M$ VS 2003 and fully equipped environment in it.

Sorry.

leiming2006
17th January 2008, 05:08
Oh, I know.
I'm new in programming so I didn't know it before. I'm sorry for asking such a question.

Thank you very much.

dancho
17th January 2008, 10:42
You could try CodeBlocks IDE + MinGW (http://www.codeblocks.org/)combination hence it supports importing projects from MS Visual Sudio.