私はこれまでVisualStudioをあまり使用していませんでした。私は暇なときに個人的なプロジェクトを開始しました。Java開発で大きなメリットがあったので、テスト駆動開発を使用したいと思います。私はかなり前にこのプロジェクトを開始し、CppUnitを使用しました。おそらく他のより良いフレームワークがあることは知っていますが、これはすでに実施されているものです。
私のVisualStuido2005ソリューションには、2つのプロジェクトが含まれています。単体テストがアプリケーションコードのすぐ横にある場合は、正常に機能しました。プロジェクトの規模が大きくなるにつれて、これは非常に面倒でエレガントではなくなりました。私は自分のソリューションの下で単体テストを収容するための新しいプロジェクトを作成しました(したがって、現在3つのプロジェクトがあります)。ソリューションを構築しようとするまで、すべてがうまくいきました。すべてがコンパイルされましたが、単体テストプロジェクトはリンクできませんでした。出力には、テストで呼び出されるすべての関数のように見えるものに対して、51個の「未解決の外部シンボル」エラー(LNK2019)が表示されます。
私が推測できる限り、問題はVisualStudioが作成するディレクトリ構造です。各プロジェクトは独自のディレクトリを取得し、その下に作成されるオブジェクトファイルと実行可能ファイルがあります。問題は、ヘッダーファイルが各単体テストに適切にインクルードされているのに、リンカがcppファイルを見つけることができないことです。これは、それらが異なるディレクトリにあるためです。呼び出された関数の実装が見つからない場合、2019エラーが発生します。
私は問題の評価に正しいですか?どうすれば修正できますか?プロジェクトを完全に再編成する必要がありますか、それともリンカーの単純な構成ですか?
ありがとう