x264 has worked fine in many many MSVC applications, even compiled in minGW with gcc.
There are some minor catches:
1. If you want a .lib instead of a .dll, you have to make one yourself separately using a tool. Not a big deal, it's just that gcc does do it for you.
2. No debug symbols, because MSVC doesn't support DWARF/etc.
3. gcc guarantees 16-byte stack alignment on x86_32, but only with respect to the caller; MSVC does not, so the stack may not be aligned as gcc expects it. You can use -mpreferred-stack-boundary to make gcc expect it, or you can just explicitly align the stack, either with the gcc intrinsic (requires ~gcc 4.2) or a small assembly function.
There are probably a few others, but overall, it does work; cdecl is cdecl.
Comments
x264 has worked fine in many many MSVC applications, even compiled in minGW with gcc.
There are some minor catches:
1. If you want a .lib instead of a .dll, you have to make one yourself separately using a tool. Not a big deal, it's just that gcc does do it for you.
2. No debug symbols, because MSVC doesn't support DWARF/etc.
3. gcc guarantees 16-byte stack alignment on x86_32, but only with respect to the caller; MSVC does not, so the stack may not be aligned as gcc expects it. You can use -mpreferred-stack-boundary to make gcc expect it, or you can just explicitly align the stack, either with the gcc intrinsic (requires ~gcc 4.2) or a small assembly function.
There are probably a few others, but overall, it does work; cdecl is cdecl.