1
C#コードでC++ dllを呼び出そうとしています。 私のヘッダファイル -C#コードでC++ dllを呼び出す
#define MLTtest __declspec(dllexport)
class MLTtest testBuilder
{
public:
testBuilder(void);
~testBuilder(void);
int testfunc (int iNumber);
};
マイ.CPPクラス
int testBuilder::testfunc (int iNumber)
{
return iNumber*2 ;
}
は、ここでそのDLLを使用するための私のC#コードです。
class Program
{
[DllImport(@"C:\Sources\Operations\Online.Dev\BIN\Debug\Mlt1090d64.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "testfunc")]
public static extern int testfunc(int n);
static void Main(string[] args)
{
try
{
int x = testfunc (50);
}
catch (Exception ex)
{
}
}
}
が、私はこの例外の例外を得続ける:
DLL 「Cの 'testfunc' という名前のエントリポイントが見つかりません:ソース\を\オペレーション\ Online.Dev BIN \デバッグ\ \ Mlt1090d64.dll '。
なしthatsのない私は、今編集した理由。そのコピー貼り間違いはここに:) – Dilip
@アドリアンの応答は正しいです...あなたが本当にC#からC + +を呼び出す場合(しかし、それは脆いことに注意してください、それは痛みであり、最終的にそれは本当に有用ではない)、http://stackoverflow.com/a/42552494/613130 – xanatos