Лучший способ включить stdafx.h, когда он на 1 каталог вверх?

Представьте себе следующие исходные файлы:

src/StdAfx.h
src/moresrc/MyFile.cpp

В MyFile.cppМне нужно включить предварительно скомпилированный заголовочный файл StdAfx.h.

Если я сделаю это:

#include "../StdAfx.h"

тогда я получу ошибку компилятора:

warning C4627: '#include "../stdafx.h"': skipped when looking for precompiled header use
fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?

Так что это не работает. Если я просто

#include "StdAfx.h"

тогда это компилируется правильно, но я получаю раздражающее выделение ошибок в Visual Studio 2013, которое выглядит так:

подсветка ошибок

Итак, как я уже сказал, это компилируется, но это раздражает.

Как я могу включить «StdAfx.h» без подчеркивания, но чтобы он компилировался?

3

Решение

Можете добавить $(ProjectDir) (корневой каталог проекта) в список каталогов в опциях проекта (C ++ -> General -> Additional Включить каталоги). После этого вы сможете указать пути относительно корня проекта во включениях. Например, если у вас есть utils/a.h и хочу использовать его из foo/bar/b.h ты можешь написать #include "utils/a.h" вместо #include "../../utils/a.h", И если у вас есть stdafx.h в корне проекта вы можете включить его просто #include "stdafx.h",

4

Другие решения


По вопросам рекламы [email protected]