Visual C#で問題なく使用していたDLLがあります(単純に参照を追加し、名前空間を使用しています)。今私はC++を学ぼうとしていますが、DLLから名前空間をどのように参照するのか分かりません。プロジェクトを右クリックして「参照」を選択し、そこから「新しい参照を追加」をクリックすることができますが、空の「プロジェクト」ウィンドウが表示されます。私は何が欠けていますか?Visual Studio C++でDLLを使用する
答えて
C++は、DLL参照の処理に関しては、C#/ VB.Netとは異なり、と異なります。です。 C#では、内部にある構造を記述するメタデータが含まれているため、参照を行うために必要なのはDLLです。コンパイラは、この情報を他のプロジェクトから使用できるように読むことができます。
C++は、C#がないという意味で、DLL内のメタデータの概念がありません。代わりに、ヘッダーファイルの形式でメタデータを明示的に提供する必要があります。これらのファイルはC++プロジェクトに含まれており、実行時にDLLが遅延ロードされます。実際にC++で話すために "参照を追加"するのではなく、ヘッダーファイルをインクルードします。
ヘッダファイルが含まれているならば、あなたは、あなたのCPPファイルに
using namespace SomeNamespace;
EDITを含めることによって、名前空間にアクセスすることができます:あなたが管理されていないC++を使用している場合、以前の答えは、より便利になります。私はあなたが管理対象C++を対象としていたC#参照のために仮定しました。
一連のタブが必要ですダイアログ「参照の追加」を - 現在のソリューションの「プロジェクト」リストプロジェクトを、 .NETはGACにインストールされているライブラリを一覧表示し、「参照」ではDLLを自分で見つけることができます。
あなただけのDLLへの参照を追加したい場合は、「参照」でそれを行うことができるはずです。それがソースを持っているプロジェクトの出力であれば、プロジェクトをソリューションに追加すると、 'プロジェクト'タブに表示されます。
この問題が解決しない場合は、使用しているのVisual Studioのバージョン、および/あなたが欲しいDLLは何を使用することですか?あなたは純粋なネイティブC++を使用している場合、あなたはC#アプリケーションで使用したのと同じDLLを使用しようとしている場合
まず第一に、そのDLLに呼び出しを行うことは簡単ではありません。問題は、C#で参照しているDLLが実行するために.NETフレームワークに依存していることです(すべてのC#、VB.NETおよびC++/CLIアセンブリが「管理」DLLです)。 C++から管理されたコードを簡単に参照する方法は、管理されたC++プロジェクト(Visual StudioのC++プロジェクトウィザードの「CLR」セクションから選択)を作成することです。そうでなければ、管理されたDLLにアクセスする唯一の方法は、それをCOMに公開し、COMを使用してオブジェクトにアクセスすることです。
- 1. Visual Studio 2010で.dllを使用するC++
- 2. Visual StudioでC++ DLLを作成する
- 3. Visual Studio C++ MSVCR100.dllエラーランタイム
- 4. Visual StudioでC++を使用しないDLLプロジェクト
- 5. Visual Studio 2008でコンパイルしたC++ dllをVisual Studio 2005で使用できますか?
- 6. Visual StudioでQtでDLLを使用する
- 7. Visual StudioでDLLを作成して使用する#
- 8. Visual Studio 2012を使用してC DLLを作成する方法
- 9. C++のDLLをC#のVisual Studioにリンクする方法2015
- 10. Visual Studio 2012で異なるdllとpdbを使用したデバッグ
- 11. Visual StudioでDLLをインポートする
- 12. Visual StudioでDLLを生成する
- 13. Visual Studio 2005でDLLを作成する
- 14. Visual StudioでDLLをリンクする
- 15. Visual StudioでDLLをリンクする
- 16. msvcp100.dllは、私は、Visual Studio 2010 を使用してC++でプログラムを書いた
- 17. Visual Studioを使用してDLLを構築する
- 18. Visual Studio 2010でアンマネージコードのDLLを使用していますか?
- 19. Visual Studioで64ビットVisual C++ツールセットを使用する
- 20. Visual StudioでC#を使用したワークフロー
- 21. Visual C++ 6でビルドされたアプリケーションは、Visual Studio 2008で構築されたDLLを使用できますか?
- 22. Visual StudioでDLLにアクセスする
- 23. Visual Studio経由でServiceFabricを使用した追加DLLのデプロイ
- 24. Visual Studio Team ServicesでSQL Server Management Studioを使用する(Visual Studio Onlineを使用)
- 25. Visual Studio 6でVBからVS2010 C++ dllを呼び出す
- 26. C/C++でVisual Studio 2008を使用する
- 27. Visual Studio C++で使用可能なメモリサイズ
- 28. SIMULINKからVisual Studioにネイティブの.dllファイルを追加するC#
- 29. Visual Studio 2008 C++。問題を参照するDLLプロジェクト
- 30. Visual Studio 2017 C++のexe(vcruntime140.dllをリンクする)
Ew、using namespace:| – GManNickG
@GMan、ヘッダーファイルで実行されるのは本当に悪いことです。私は本当にあなたのCPPファイルで言うことを意味しましたが、代わりにC++をタイプしました。 – JaredPar
'using namespace'は、他のすべてのものと同様に、正しくまたは間違って使用できるツールです。ヘッダーファイルの 'using namespace' - 悪いC++ファイルで 'using namespace' - 一般的にOKです。それが問題を引き起こすまで、あなたはそれをやめるだけです。 –