Из того, что я понимаю, эта ошибка вызвана неправильным использованием защиты заголовков, когда у вас есть несколько файлов, включая один и тот же файл. В моем случае это дерево include, вызывающее ошибку:
File A includes Z, which contains the functions I need. File B includes A, and file C includes A.
Без каких-либо #pragma once
', программа дает кучу вариантов одной и той же ошибки:
blahblah.obj: error LNK2005: class some::namespace::ObjectType Object already
defined in dialogDlg.obj
Я просто задавался вопросом, учитывая, как я описал дерево include, каков правильный способ его правильного компиляции?
Я попытался использовать #pragma once
в файле Z, но это не сработало. Я также попробовал #pragma один раз в файле A, который также не работал. Наконец, я попробовал это как на A, так и на Z, также не работал.