2011-12-20 11 views
10

状況:VS2010:単一のライブラリ内のリンクは、静的に

私はVS2010でのライブラリを構築しています、そしてそれはLibraryAへの依存性を持っています。 LibraryAが提供する多くの機能のうちの1つを使用しているだけなので、静的にリンクしたいと思います。私はこのことについて読んでいる

すべては私がしたくない何かであるMFC、に対して静的にリンクするプロジェクト全体を設定することが私に語りました。私はライブラリーをWindows DLLと動的にリンクしても問題ありません。私は単にLibraryAと静的にリンクしたいだけです。

オプションウィンドウの周り出し抜く、私はそのようなオプションを見ていないように見えます。それは本当にすべてか何かですか?

おかげで、ここで自分の質問に答える -Ben

+0

「MVCに対する静的リンクは、」解釈するのは困難です。あなたはCRTを意味しますか?/MD対MTオプションのみが重要です。 Windows DLLは問題ではなく、常に動的にリンクされています。他のオプションはありません。 –

+0

libraryAはdll(リンクするためのlibを持っています)またはlibだけを持っていますか?いくつかのサードパーティ製のライブラリは、あなたがそれをリンクする方法を選択することができるように両方として来る。ライブラリ/コードの場合は、ビルド方法とリンク方法を選択できます。 –

+0

@ HansPassant - 私の間違い(それはMFCでした)。 http://stackoverflow.com/questions/3230/how-do-you-pack-a-visual-studio-c-project-for-releaseを参照してください。私の状況に近いですが、同じではありません。 – Ben

答えて

27

を使用すると、静的VSにライブラリをリンクするためにやらなければならないことは、次のとおりです。

1)への.libファイルを追加します。プロパティー - >リンカー - >入力にあるリスト:追加の依存関係。

2)の.libファイルはプロパティへの置かれているディレクトリの追加 - >リンカ - >一般:追加のライブラリディレクトリ。

の.libファイルは静的にリンクされたライブラリである場合、それはあなたがしなければならないすべてです。私は混乱していた

主な理由は、.LIBファイルもコンパニオンDLLと一緒にファイルではなく、静的ライブラリ自体ことができることでした。

+6

あなたはばかではありません、あなたは(おそらく)人間です。両方のプロジェクトを同時に(つまり同じソリューション内に)ビルドしている場合は、あるプロジェクトを別のプロジェクトに依存するように設定することができます。また、Visual Studioは自動的にライブラリをインポートします。依存関係」を参照してください。 – adelphus

+2

馬鹿ではありません...この回答を書いてくれてありがとう、私はそれが必要でした。 –

+0

この投稿は私にも役立ちました:http://stackoverflow.com/questions/6402586/know-if-lib-is-static-or-import – meawoppl

関連する問題