Here's what i did to make it compile (using VS2010):
1. I removed the /GS switch from the linker options. (Project properties -> Configuration Properties -> C/C++ -> Code Generation -> Buffer Security Check: No (/GS-) )
2. Now it was saying:
unresolved external symbol _memset referenced in function "void __cdecl WinMainA(void)"
I added this in avi2bmp.cpp right infront of WinMainA:
#pragma function(memset)
void *memset(void *target, int value, size_t count)
{
_memset(target, value, count);
return target;
}
3. Now it was saying:
fatal error LNK1137: invalid argument '.text,EWRX' specified with /SECTION
In avi2bmp.h i found this line:
#pragma comment(linker,"/FILEALIGN:512 /SECTION:.text,EWRX /IGNORE:4078")
and removed the X from EWRX:
#pragma comment(linker,"/FILEALIGN:512 /SECTION:.text,EWR /IGNORE:4078")
Now it compiles and links happily, but i didn't try if it actually works.