О коде в вашем вопросе
То, как вы показали, это правильно.Вы объявили его в заголовке (и, следовательно, по расширению, в любом исходном файле, включая этот заголовок) и определили его один раз в исходном файле.
Вы должны случайно связать settings.cpp
дважды или случайно включитьsettings.cpp
где-то, или вы случайно написали другое определение для этого массива где-то.
О коде, который вы указали нам
FWIW, в проекте GitHubу вас есть ссылка, у вас нет settings.cpp
, просто settings.h
с множеством определенных объектов (то есть без extern
).Поэтому проблема может заключаться просто в том, что код, который вы создаете, не совпадает с кодом, о котором вы говорили.