Компилировать ошибки с одним проектом только после добавления второго проекта

У меня есть решение в VS2012, которое прекрасно компилируется. Я хотел написать несколько тестов для него и нашел WinUnit.

Для простоты я включил тестовый проект WinUnit в свое решение.

Я разделила их образец файла и начала ссылаться на мою копию Google diff_match_patch что я хотел проверить.

Как только я добавляю файл .h в свой проект и компилирую, я получаю 3 ошибки в файле diff_match_patch. Этот файл скомпилирован очень хорошо, прежде чем я добавил новый проект.

Ошибка 3 ошибка C2059: синтаксическая ошибка: ‘(‘ … \ diff_match_patch.h 103 1 TestSampleLib

Ошибка 4, ошибка C2143: синтаксическая ошибка: отсутствует ‘;’ перед ‘}’ … \ diff_match_patch.h 104 1 TestSampleLib

Ошибка 5 ошибка C2238: неожиданный токен (ы), предшествующий ‘;’ … \ diff_match_patch.h 104 1 TestSampleLib

Все ошибки сосредоточены вокруг этого кода:

enum Operation {
DELETE, INSERT, EQUAL
};

Я думал, что это может быть какая-то ссылка, которую я пропускаю, но я добавил все, что могу придумать, и он все еще не работает при компиляции.

Это единственные ошибки, которые я получаю, поэтому я не могу понять причину.

Что может привести к сбою этого файла?

1

Решение

Похоже, макрос называется загрязнением. Вы можете попытаться #undef всех имен непосредственно перед определением enum и посмотреть, что произойдет.

1

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

Других решений пока нет …

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