Ошибка компилятора c2237 при работе с модулями

#c #visual-studio #visual-studio-2019 #c -modules #visual-studio-2022

Вопрос:

Я пытаюсь изменить проект, чтобы использовать модули в visual studio. Я изменил простой класс для создания модуля следующим образом:

 #pragma once

export module FieldData;

namespace Serializer
{
    class FieldData
    {
    public:
        bool nvConverted{ false };
    };
}
 

Я также изменил тип элемента на » компилятор c/c «, однако это приводит к следующей ошибке:

ошибка C2237: объявление нескольких модулей

К сожалению, похоже, нет документации о том, что вызывает c2237 или как его устранить

Комментарии:

1. У вас, вероятно, все еще есть файлы #include с этим заголовком.

2. Я дважды проверил, но похоже, что это не так

3. @SebastianRedl Добавляя к этому, когда я #включаю файл в другие заголовки, я получаю несколько экземпляров ошибки C2237

Ответ №1:

Я все понял. Проблема заключалась в том, что я не изменил опцию «Скомпилировать как» в свойствах проекта -> Свойства конфигурации ->> C/C ->>> Дополнительно. Значение, которое должно быть: «Скомпилировать как код модуля C (/интерфейс )».