Previously, Xvid library was compiled under vc6.0, but two errors occurred recently during vc8.0 compilation, as shown below:
1: crtdefs. H (448): Error c2632: 'int' followed by 'int' is illegal
Error message:
1> vop_type_decision.c
1> D:/program files/Microsoft Visual Studio 8/VC/include/crtdefs. H (448): Error c2632: 'int' followed by 'int' is illegal
1> D:/program files/Microsoft Visual Studio 8/VC/include/crtdefs. H (448): Warning c4091: 'typedef': ignored on left of '_ w64 int' when no variable is declared
Solution:
Modify the portab. h header file and process the intptr_t definition as follows:
# If defined (arch_is_32bit)
# Define cache_line 64
# Define ptr_t uint32_t
# Define intptr_t int32_t
# DEFINE _ intptr_t_defined //!!! Add this definition
# If defined (_ msc_ver) & _ msc_ver> = 1300 &&! Defined (_ intel_compiler)
# Include <stdarg. h>
# Else
# Define uintptr_t uint32_t
# Endif
# Elif defined (arch_is_64bit)
Error 2: NASM: Error: no input file specified
Error message:
1> memory ing E:/nodsoftware/streamplayersdk/FIG/Xvid/xvidcore-1.0.2/src/image/x86_asm/colorspace_yuyv_mmx.asm
1> NASM: Error: no input file specified
1> type 'nasm-H' for help
1> Project: Error prj0019: A Tool returned an error code from "inserting ing E:/nodsoftware/streamplayersdk/MMP eg4_xvid/Xvid/xvidcore-1.0.2/src/image/x86_asm/colorspace_yuyv_mmx.asm"
Solution:
Modify the compilation options of the following three files
Colorspace_rgb_mmx.asm
Colorspace_yuv_mmx.asm
Colorspace_yuyv_mmx.asm
Set
NASM-F Win32-dprefix-I $ "(inputdir)"/-o $ (intdir)/$ (inputname). OBJ $ (inputpath)
Change
NASM-F Win32-dprefix-I $ (inputdir)-o $ (intdir)/$ (inputname). OBJ $ (inputpath)