私はDLLとしてコンパイルしているMyKinectDllというビジュアルスタジオプロジェクトを持っています。 MyKinectAppと呼ばれる別のプロジェクトが実行可能です。私は同じ解決策でそれらを持っています。 MyKinectAppからMyKinectDllへの依存関係を追加しました。 MyKinectAppからMyKinectDllへの参照を追加しました。 MyKinectDllの場所をMyKinectAppの追加インクルードディレクトリに追加しました。私のコードでは、#include "MyKinect.h"を追加しました。これはMyKinectDllのヘッダーの1つであり、認識されています。しかし、私がコンパイルすると、MyKinectDllだけが正常にビルドされ、MyKinectAppでヘッダーファイルが見つからないというエラーが表示されます。これらのヘッダーファイルはMyKinect.hで呼び出され、MyKinectDllの別の場所に存在し、正しくビルドされています。Visual C++でスタティックライブラリとしてDLLを追加する
リンカーの設定でMyKinectDllの.libにリンクする必要があるかどうかは不明ですが、試しても同じエラーが発生します。私は間違って何をしていますか?
ご協力いただきありがとうございます。
あなたは使っていますか? dll関数/クラスをdllからエクスポートするには '__declspec(dllexport)'を使いましたか? –
MyKinect.hで使用されるすべてのヘッダーの場所を、MyKinectAppプロジェクトの追加インクルードディレクトリに追加する必要があります。 – StevieG
@StevieGそれを解決しました。ありがとうございました。しかし、私はこのステップが必要な理由を理解していません。もちろん、dllは単独で動作する必要があり、メインアプリケーションで参照する参照を必要としません。つまり、システムDLLを使用しても、参照するすべてのパスを含めても心配はありません。 –