Question

Our code includes vector, which includes memory, which includes Microsoft's intrin.h, but we have an intrin.h of our own on our include path. Hence memory picks up our intrin.h instead of the system one, and fails to compile.

Both our intrin.h and Microsoft's have been around for years, but we've never had a conflict before - VS 2010 introduces a new dependency. Moving or renaming our intrin.h would be a pain, and I'd rather avoid it.

Is there some way I can persuade MSVC to look in the system include directory before our own? Editing memory to say:

#include "intrin.h"

rather than

#include <intrin.h>

works, but I don't want the whole team to have to modify their Visual Studio environments (and keep them modified in the face of service packs, etc.)

Any other way of working around this?

Was it helpful?

Solution

How about simply adding the system include directory to the include path before your directory?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top