0

このライブラリ(.dll)を作成し、それをテストするために別のプロジェクト(.exe)を作成しました。

MSVS 2010でそれを行うにはどうすればよいですか?

約1時間グーグルで検索しても、まだ答えがありません。そこで、ここで質問することにしました。

#includeディレクティブからパス全体を明示的に入力してリンクします。

project2(.exe)から

#include "C:\...\project2.h"

どうすればこれを可能にできますか?

#include "project2.h"

???

編集

私の質問に加えて

1

私のダイナミック(.dll)ライブラリは静的(.lib)ライブラリにリンクされています。

そして、そこにリンクを明示的にコーディングし、インポートするヘッダーファイル(.h)にすでに存在しています。

それでも他のプロジェクトにリンクする必要がありますか?

2

私のライブラリはOOP方式で実装されています。

(.dll)と(.lib)のどちらを使用するのが良いですか

4

2 に答える 2

0

そのためにプロパティシートを使用します。

作成するライブラリについては、プロパティシートも作成します。そのプロパティシートで、ライブラリのインクルードパスをグローバルインクルードパスに追加し、ライブラリパスをグローバルライブラリパスに追加します。プラグマ駆動の自動インポートを使用しない場合は、そのインポートライブラリをグローバルインポートライブラリに追加します。

ライブラリが他のライブラリに依存している場合は、それらのライブラリのプロパティシートを追加でインポートします。1つのプロパティシートへのパスが複数ある場合は、コンパイラのmsbuildを取り除くために、いくつかのクレイジーな作業を行う必要があるかもしれませんが、Googleがお手伝いします(警告メッセージをグーグルで検索してください)。

ここでの主な問題は、パスを指定する方法です。私の開発環境にはすべてのソリューションが存在する単一のディレクトリがあり、すべてのソリューションはそのメインディレクトリのちょうど1レベル下にあるため、これは私にとってはうまくいきます。したがって、$(SolutionDir).. \ bar \ foo \ includeをインクルードパスとして使用することで、ソリューションバーでライブラリfooのヘッダーを常に見つけることができます。あなたの場合、これはうまくいかないかもしれません。

Visual Studio 2012では、$(MSBuildThisFileDirectory)を使用して、プロパティシートファイルが含まれるディレクトリを取得できるはずです。これが2010年に機能するかどうかはわかりません。ドキュメントが見つかりませんでしたが、まだ残っている可能性があります。試してみてください。

于 2013-03-01T14:42:37.640 に答える
0

私はそれを理解します。

ファイルまたはフォルダの前に「..\」を含めるだけで、1つのディレクトリを上に移動できます

于 2013-03-23T10:55:35.020 に答える