У меня есть программа, которая отлично работает под VC++, но дает мне ошибку в GCC.Размер хранилища 'var' не известен
в log.h:
namespace logType { enum Enum { None = 0, Info, Warning, Error, }; std::string Name[]; }
в log.cpp:
std::string logType::Name[] = { "None", "Info", "WARNING", "ERROR" };
Это прекрасно работает, когда я компилирую log.cpp. Однако, если любой другой файл включает в себя log.h, что файл ошибки из:
error: storage size of ‘logType::Name’ isn't known
Я попытался указать размер массива для имени [] в одном или обоих файлов, но это только изменяет ошибка с повторной записью.
Как мне получить это сотрудничество под GCC?
когда вы получаете сообщение об ошибке при связывании файлов * .o или при создании файла .o? – hhafez
При создании файла .o. – Nairou