2011-07-01 6 views
0

なぜか、msVS ++ 2010では、すべてのヘッダとcppファイルが静的ライブラリまたはの中にあるときにディレクトリを含める必要があります。静的ライブラリプロジェクト私の場合。なぜライブラリをリンクしてインクルードディレクトリを設定する必要がありますか

私はcmakeで静的ライブラリプロジェクトを作成しました。ソースファイルには同じものを設定するように指示されました。私は今includeディレクトリを作成するよう指示しています...同じ2 cppとヘッダファイル..私のsollutionに静的に含まれているものを除いて...なぜ?

+0

ビットは、「同じcppとヘッダーファイルの2つ」と言う質問で混乱します。つまり、あるディレクトリにA.cppとA.hppがあり、別の場所にそれらの複製があるということですか? – sashang

答えて

3

基本的な実装を抽象化している間にVS ++がそれを完全に隠すわけではないためです。

インクルードディレクトリとライブラリは、従来、さまざまなプログラムで処理されていたプロセスのさまざまな段階を対象としています。プリプロセッサによるディレクトリ、リンカによるライブラリをインクルードします。これらのプログラムは現在VC++と呼ばれていますが、そのインターフェイスは引き続き基本的な構造を示しています。

プラグマを使用してソースコード(したがってヘッダー)に必要なライブラリをマークすることができるシステムがあります。あなたに簡単に別のことで代替ライブラリは

(...、シングルスレッド/マルチスレッド、デバッグ/インストルメント/解放を言う)することはできません

  • 非標準

  • :これらは、いくつかの欠点を持っています

+0

'VS ++'とは何ですか? – Mehrdad

+0

@Mehrdad、Visual Studio私は思う - 私はちょうどOPの略語をコピーしました。 – AProgrammer

+0

Lol明らかにそれは存在しません( "Visual Studio ++"?)、しかし、私はそれがあなたのものではなくOPの欠陥になると思います... – Mehrdad

2

あなたが呼んでいる機能についてのヘッダファイルがあります。

静的ライブラリは、あなたがそれらを呼び出すために約方法情報を呼び出すが、いない機能のコードが含まれています。

関連する問題