1

私は Linux 開発と Makefile にかなり慣れており、(Windows と) Visual Studio を使い始めたのはつい最近のことです。

私がやりたいことは (私が思うに) 非常に単純ですが、Visual Studio を使用してそれを行う方法が見つからないようです。

いくつかの独立したサブパートに分割できるアプリケーションを作成する必要があります。段階的に作業を進めて、メイン ファイルと合わせて完全なプロジェクトになる複数のプロジェクトを作成したいと考えています。

私が基本的に望んでいるのは、小さなプロジェクトを作成し、それを完全にテストできるようにメインを用意し、それを次のプロジェクトの依存関係として使用できるようにすることです。この場合、小さい方のメインは非アクティブ化され (またはコメントできます)、スタートアップ プロジェクトを変更するだけです。大規模なソフトウェアを作成しているときにサブセットにバグが見つかった場合は、スタートアップ プロジェクトを変更して小規模で解決できます。

それが、私が Python と Java で 1 日中行っていることです。

自分のプロジェクトに新しいプロジェクトを作成しようとしましたが、メイン プロジェクトはサブ プロジェクトのファイルを認識しているが、小さなプロジェクトは認識していないなど、常にリンクの問題が発生します。.

それで、この方法で作業するためのガイドはどこかにありますか?

ありがとうございました

4

3 に答える 3

2

個々のプロジェクトの場合:

各プロジェクト プロパティ シートには、C++ オプション ページがあります。ここでは、カンマ区切り形式で「追加のインクルード ディレクトリ」を指定できます。

同様に、「追加のインクルード依存関係」とそれが依存するライブラリの名前を指定できるリンカーのプロパティ シートが必要です。

メインの実行可能ファイルのリンカー依存関係:

そのメイン プロジェクトに移動し、そのプロパティに移動して、共通プロパティに移動し、[フレームワークと参照] を選択します。これにより、ソリューションに含まれるすべてのプロジェクトのリストが表示されます。それらを追加し続けると、Visual Studio によって適切なリンカー フラグが自動的に追加されます。

申し訳ありませんが、今はコンピューターにアクセスできません。それ以外の場合は、正確な手順が提供されていたはずです。Visual Studio は扱いにくい場合がありますが、一度使用すると、その機能に驚かれることでしょう。個人的には大好きです。

お役に立てれば。

于 2012-11-02T08:09:46.420 に答える
1

Vaibhav のおかげで、解決策を見つけることができました。

そうしなければならなかった :

  • サブプロジェクトの種類を exe ではなく lib に変更します
  • サブプロジェクトをプロジェクトの依存関係としてメイン プロジェクトに追加します (これはビルド順序を設定するだけです)。
  • サブプロジェクトのメインをコメントアウトして、1 つだけをアクティブにします。
  • 各サブプロジェクトのインクルード ディレクトリをメイン プロジェクトのインクルード リポジトリに追加して、コンパイラがヘッダー ファイルを見つけられるようにします。
  • 一般的なディレクトリをリンカの依存関係として追加します (この場合、これはサブプロジェクトのデバッグ/リリース フォルダではなく、完全なプロジェクトの出力ディレクトリです)。
  • サブプロジェクトの lib ファイルの名前を、メイン プロジェクトのリンカーの追加の依存関係に追加します。

簡単にするために、VS2010 のプロジェクト依存関係機能は、プロジェクトがビルドされる順序を変更するだけです。. . エクリプスが恋しい。

バグを見つけてサブプロジェクトをテストしたい場合は、次のことを行う必要があります。

  • スタートアップ プロジェクトを、変更したいサブプロジェクトに変更します。
  • 対応するメインのコメントを外します
  • プロジェクトの種類を lib ではなく exe に変更して、コンパイルできるようにします。

デバッグし、すべてをやり直して、メイン プロジェクトの作業を続けます。かなり退屈だと思いませんか?

于 2012-11-02T09:55:13.913 に答える
0

手動の単体テストを行おうとしているようです。Google.Testのようなものを使用してください。ライブラリごとにテスト プロジェクトを作成する必要があります。

静的ライブラリ プロジェクトのディレクトリがあります。テスト プロジェクトを含む別のディレクトリ。すべてのテスト ソリューションには、1 つの exe プロジェクトといくつかの既存の lib プロジェクトが含まれています。すべてのプロジェクトには依存関係が構成されています。リンカーの追加の依存関係を手動で設定する必要はありません (パスは悪であり、lib ファイルの out dir はプロジェクト設定から取得されます)、マウスの右ボタンでプロジェクト プロパティを開き、共通プロパティを開き、新しい参照を追加し、lib プロジェクトを選択します。追加のインクルードディレクトリを設定するだけです。

新しいバグを見つけたら、バグのあるライブラリのテスト プロジェクトを開き、バグの原因となるコードを追加して修正し、喜んでください (場合によってはすべてのテストを実行します)。さらに良いことに、TDDを使用してください。

于 2012-11-02T13:31:07.247 に答える