ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

warning LNK4042

Visual Studioでプロジェクトをビルドしようとしたら、リンクのときに次のようなエラーが。

warning LNK4042: オブジェクトの指定が重複しています。余分なものは無視されます。

以前作ったクラスを改良して別のクラスへと変更し、同じ名前だけどnamespaceは別の場所にした。コンパイルは通ったけどリンクがうまくいかず、古い方のクラスのほうがリンクできなくてエラーになってしまう。
結局、原因はクラスのソースファイルがフォルダは別だったけど、ファイル名が同じだったということ。オブジェクトファイルが同じ場所に出力される設定になっていたので、namespaceを変えてもオブジェクトファイル名は変わらず、同名のオブジェクトファイルが出来てリンクされなくなってしまう。
ということでファイル名を変えて無事、ビルドすることが出来た。