Original Post
In my MFC I have overridden printf like this : in my header : extern "C" int printf(const char* szStr, ...); then in my cpp : extern "C" int printf(const char* szStr, ...) { } The code behaves as i would expect except that I get the following warning for every file that includes the header : warning C4273: 'printf' : inconsistent dll linkage How do i need to specify this to stop this warning?