私のC++クラスをc#windowsフォームアプリケーションで使用したいと思います。C++クラスへのC++ DLLへのC#Windowsフォームクラスへの変換
ヘッダーファイル(.hと.cpp)でC++クラスを作成した後、dllになるはずのwin32プロジェクトを作成しました。
私はそれを私のC#windowsフォームプロジェクトで使っていますが、どこに置くべきか、何を入れるべきか分かりません。
This is the StackLibrary.h and .cpp
私のC++クラスをc#windowsフォームアプリケーションで使用したいと思います。C++クラスへのC++ DLLへのC#Windowsフォームクラスへの変換
ヘッダーファイル(.hと.cpp)でC++クラスを作成した後、dllになるはずのwin32プロジェクトを作成しました。
私はそれを私のC#windowsフォームプロジェクトで使っていますが、どこに置くべきか、何を入れるべきか分かりません。
This is the StackLibrary.h and .cpp
あなたは(RIF https://msdn.microsoft.com/en-us/library/ms235281.aspx。)C++/CLIでラッパーを記述する必要があります。 あなたのC#への追加後、C++/CLIを使用してDLLとしてコンパイルし、C++でラッパーを書きますあなたは何のエラーもありませんプロジェクト:
StackLibrary DLL(ネイティブC++)< - >ラッパーDLL(C++/CLI)< - > C#プロジェクト
私はラッパーとstacklibrary dllを置き換える必要がありますか? –
これらを別々の状態に保つことができます。この方法では、StackLibrary DLLをc#(ラッパー経由)と他の言語(DLLをインポートできるC++、VB、PHP、...などすべての言語)で使用できます。 StackLibraryプロジェクトをラッパーを追加して変換し、C++/CLIオプションを使用してコンパイルすることができます。この場合(stacklibrary dllの置き換え)、このDLLを.Net/Monoプロジェクトにのみ追加できます。 – Fil
助けていただきありがとうございます、私はそれに取り組んでみましょう –
は[STAThread] Mに属していますあなたはそれを分けることはできません。 STAThreadの上にDllImportを書き込みます。 –
私はどのようにDllImportをSTAThreadの上に書いた後に関数を使うのですか? –
以下のDllImportでは、関数名を記述する必要があります。例:https://msdn.microsoft.com/en-us/library/aa288468(v=vs.71).aspx –