Как остановить VS2010 от автоматического включения файлов для проекта Ansi C

Я рефакторинг наследие, и мне нужно немного опереться на компилятор. Некоторое урегулирование в Visual Studio не работает, как я хочу, чтобы это работало.

файл переменного тока

int main (int i, char** l)
{
    dostuff(i);
}

файл bh

//empty header

файл до н.э.

void dostuff(int i);


void dostuff(int i)
{
    //bla
}

a.c не включает b.h и не делает b.h сумасшедший материал. Поскольку dostuff не является статичным, символ экспортируется. Если я удалю b.c компиляция не удалась.

Я хотел бы настроить vs2010, чтобы он генерировал ошибку для a.c потому что символ dostuff не был импортирован через include.

Какие настройки будут делать это для меня?

1 ответ

Решение

Прежде всего, ваш код должен генерировать предупреждение (на уровне 3), чтобы вы могли видеть, что что-то не так после компиляции. Если вы хотите ошибку:

Можете добавить #pragma warning (error : 4013) в вашем a.c файл.

В качестве альтернативы добавьте /we4013 к дополнительным опциям в разделе Configuration properties->C/C++->Command Line

Это обрабатывает предупреждение, сгенерированное вашим кодом, как ошибку

Другие вопросы по тегам