今結構な規模のソフト作っているんですが
構成が

main.cpp
main.h
common/common.cpp
common/common.h
thread/thread.cpp

という用に、メイン以外ディレクトリで小分けしていっています
main.hは小分けされた全ディレクトリ内のヘッダをインクルードしています
そこで、thread.cpp側ではcommon.hで定義している構造体を利用する為に
main.hをインクルード(#include"../main.h")し、その構造体を利用したいんですが
ビルド時に定義されていないというエラーが発生します

common.hの構造体をそのままthread側にコピペすると
既に定義されている…という旨のエラーメッセージが出ます
似たような事は他のモジュールでもやっていてうまくビルド出来ていたんですが
今作ってる機能だけ、何故かこのようなエラーが発生します

IDEはVisual C++2008 ExpressEditionです。
よろしくお願いします。