функция уже определена в .obj

Насколько я понимаю, эта ошибка вызвана неправильным использованием защиты заголовков, когда у вас есть несколько файлов, включая один и тот же файл. В моем случае это дерево включения, котороевызывает ошибку:

File A includes Z, which contains the functions I need. File B includes A, and file C includes A.

Без всяких '#pragma onces, программа выдает кучу вариантов одной и той же ошибки:

blahblah.obj: error LNK2005: class some::namespace::ObjectType Object already 
    defined in dialogDlg.obj

Мне просто было интересно, учитывая дерево включения, которое я описал, как правильно заставить его правильно скомпилироваться?

Я пытался с помощью#pragma once в файле Z, но это нет работа. Я также однажды попробовал #pragma в файле A, который тоже нет работа. Наконец я попробовал это и на A и на Z, также нет работа.

Ответы на вопрос(1)

Ваш ответ на вопрос