2012-03-12 13 views
1

私は複数のプロジェクトのソリューションを持っています。VS 2010ビルドの問題:参照の問題

Bin/Lib/Includeのための一般的なフォルダはほとんどありません。 Binフォルダ内のすべてのエクスポートのLibフォルダ内のlib、実行可能ファイルとは、ヘッダ

ソリューション含める - S プロジェクトA1 - DLL プロジェクトA2 - エグゼ ... プロジェクト

プロジェクトA2をProj A1

私はSDK(Bin \ lib \ Include)フォルダ以外のすべてを削除し、すべてを削除しました。そのビッグソリューションは、私たちは、これはSDKをエクスポートし、任意のアプリケーションをビルドし利用するため

は、今私は完全なコード(A1、A2、...アン)を取り、唯一のプロジェクトA2、

を開いたが、私はビルドするときに与えてきました私の次のエラー 入力ファイル 'C:\ Code \ Development \ Src \ A2 \ Debug7 \ A1.lib'を開くことができません。

なぜ共通ライブラリフォルダからライブラリを取得しないのですか?

VS 2008では問題なく動作していましたが、2010年にアップグレードした後はうまく機能しませんでした。

+0

A2がA1に対してどのような依存関係を持っていますか? @(参照)ではなく@(ProjectReference)である必要があります。 –

+0

VS 2008に何があっても、アップグレード後にこの問題に直面しました。プロジェクトの依存関係を取り除き、ソリューションの依存関係を追加する必要があるようです。また、これはネイティブアプリケーションコードです。 – Kasma

答えて

1

私の推測では、あなたのA2プロジェクトの参照フォルダにまだA1のコードバージョンが残っていると思います。いずれにしても、チェックするものです。

+0

私はすべてを削除し、最新のコードとSDK(Bin \ Lib \ Include)をとりました。ドライブからA1プロジェクトを削除した場合、共有したいことがもう1つあります。それは正常に構築されました。 – Kasma

1

ソリューションファイルに依存関係が保存されているとしか推測できません。元のソリューションの代わりに1つのプロジェクトを開くと、その情報は失われます。

'C:\コード\開発\ SRC \ A2 \ Debug7 \ A2.lib'

Q:なぜ、A2は、独自のlibファイルを開こうとするプロジェクトでしょうか?確かにlibファイルは出力(静的ライブラリ、または他のモジュールで使用するためのインポートライブラリ)です。

A2プロジェクトの追加ライブラリディレクトリ(プロジェクトのプロパティのリンカセクション)を正しいパスを指すように設定すると、必要なライブラリがどこにあるのかがわかります。

+0

A2.libが誤植で修正されました 今VS 2010プロジェクトのプロジェクト依存関係が使用されています。ソリューションの依存関係はMSビルドでは使用されません http://blogs.msdn.com/b/vcblog/archive/2010/02/16/project-settings-changes-with-vs2010.aspx – Kasma