2011-01-13 3 views
2

複数のプロジェクトを持つVC++ 2010ソリューションがあります。その1つは、共通コードを1か所に配置したいという私の望みによって作られた.libです。同じVC++ 2010ソリューションでプロジェクトによって生成された.libにリンクする方法

ここでは、通常のコンソールアプリケーションである別のプロジェクトをこのライブラリにリンクしようとしています。しかし、VSは追加の依存関係として追加したにもかかわらず、.libが見つからないという不満があります。

.libが同じプロジェクトになっているにもかかわらず、VSが簡単に使えるようになることを望んでいましたが、悲しいことに、運がありません。

EDIT私は盲目でなければなりませんが、私はティムが言及した「追加パス」オプションを見つけることができません。 libプロジェクトをコンソールプロジェクトのプロジェクト依存関係に追加しましたが、まだ動作していません。

EDIT2私が実際に.lppプロジェクトに.cppと.hファイルを追加した後、Edwinの提案がうまくいった。あまりにも明白な何かを見逃したとき、私は本当にそれが嫌いです

答えて

4

プロパティ_>共通プロパティ - >フレームワーク&依存関係実行可能ファイルには、実行可能ファイルが依存するプロジェクトを追加することができます。その後、追加のインクルードパスC++ - > Generalをインクルードファイルを見つけるために調整する必要があります。

EDIT:私はAppTestとlib-project Dummyという名前のexeプロジェクトを持っています。

私はAppTestのフレームワーク&の依存関係にプロジェクトダミーを追加しました。

次に、AppTestのインクルードパスがダミーのディレクトリを指し示すようにすべての設定を調整しました。

次に、私はapptest.cppにdummy.hを含め、dummy.libの関数を呼び出しました。

ソリューションを構築します。それで全部です。

+0

さて、私はそれをしましたが、まだ運がありません。リンカーはまだ.libが見つからないと主張しています。 .libをProperties/Configuration Properties/LinkerのAdditional Dependenciesから削除した場合、未解決の外部依存関係を表すLNK2019が表示されます。ソリューションのDebugディレクトリにある.libへの相対パスを指定するだけでいいですか?しかし、私がそれを行うと、私はリリースするときに問題が起こると思います... – dandan78

+0

@ dandan78:ライブラリを手動で追加する場合は、VSが提供する多くのマクロを使用する必要があります。 –

+0

@ dandan78:私がどのようにしたかの例を提供しました。 –

0

libに依存するプロジェクトの「追加パス」プロパティを変更します。

2

Visual C++でライブラリをリンクする方法は3つあります。 Add Existing Itemを実行してlibファイルを指定することで、プロジェクトに.libファイルを明示的に含めることができます。そうすれば、パスを指定する必要はありません。 Options/Linker/Inputにファイルを追加し、Additional Library Directoriesにパスを指定することができます。最後に#pragma comment(lib、 "my.lib")を使用して、以前と同じようにパスを指定することができます。私は確信していませんが、上記のプラグマも完全なパスを入れることができると思います。

関連する問題