私は多くの異なるファイルを使用するコード ブロックのプロジェクトを持っています - 非常に多くの場合、他のプログラマーによって書かれています。現時点では、同じ方法で名前が付けられた関数を含む 2 つの異なるサブプロジェクトがある状況があります。言いましょう: F(int x)。したがって、F(int x) は 2 つの異なる場所にある 2 つのソース ファイルで定義されており、2 つの異なるヘッダーがあります。また、これらのヘッダー用に 2 つの異なる名前空間を作成しました。
namespace NS1
{
extern "C"{
#include "header1definingF.h"
}
}
namespace NS2
{
extern "C"{
#include "header2definingF.h"
}
}
しかし、コンパイラは、F(int x) の定義が複数あると不平を言っています。Code::Blocks でこれを回避するにはどうすればよいですか (Visual Studio では問題なく動作します)。
編集:より明確にするために、これらのヘッダーにはCコードが含まれています。こんなに混むとは思いませんでした。数千の関数を含む他のプロジェクトを使用する数千のソースファイルがあります...どうすればよいですか。私はそれを機能させる方法がまったくわかりません。