私は最近、2005 から 2012 にアップグレードし (確信しています)、ソリューションをビルドするときにリンク エラーが発生しました。何時間も Google を検索していろいろ考えた末に、アイデアが尽きてしまいました。私は何十ものプロジェクトを設定したので、すべてを正しく行ったと確信していますが、公平を期すために、数年が経ちました.
そこで、テストとして、新しいプロジェクトをセットアップしました。私はそれをアプリ、Windows アプリケーション (.exe) と呼びました。Core という名前の 2 番目のプロジェクトを作成し、その構成タイプでスタティック ライブラリ (.lib) としてフラグを立てました。どちらもソリューションの一部です。コアに、単純な機能を持つ小さなクラスを含む Test.cpp と Test.h を追加しました。次に、ウィンドウのアプリケーションの WinMain.cpp ファイル内に WinMain() があり、CTest テストを介してこのテスト クラスを呼び出します。テスト結果();
これに伴い、プロジェクト App の Project Dependencies を Core に設定し、最終的に Test.cpp/.h が存在する Core コードへのパスを App の追加のインクルード ディレクトリに追加しました。
次のリンクエラーが発生し、一生理由を理解できません。私が見逃した可能性のあるステップや、2012年に以前のバージョンから何が変更されたかを知っている人はいますか? 助けてくれてありがとう!
1>------ Build started: Project: App, Configuration: Debug Win32 ------
1>WinMain.obj : error LNK2019: unresolved external symbol "public: __thiscall CTest::CTest(void)" (??0CTest@@QAE@XZ) referenced in function _WinMain@16
1>WinMain.obj : error LNK2019: unresolved external symbol "public: __thiscall CTest::~CTest(void)" (??1CTest@@QAE@XZ) referenced in function _WinMain@16
1>WinMain.obj : error LNK2019: unresolved external symbol "public: int __thiscall CTest::Result(void)" (?Result@CTest@@QAEHXZ) referenced in function _WinMain@16
1>D:\Work\Test_Linker_Stupidity\App\Debug\App.exe : fatal error LNK1120: 3 unresolved externals
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ========