У меня есть неуправляемая dll C ++, для которой у меня нет доступа к коду, но у меня есть объявления всех методов.
Давайте для простоты скажем, что .h выглядит так:
#include <iostream>
#ifndef NUMERIC_LIBRARY
#define NUMERIC_LIBRARY
class Numeric
{
public:
Numeric();
int Add(int a, int b);
~Numeric();
};
#endif
и реализация метода в файле .cpp
int Numeric::Add(int a, int b)
{
return (a + b);
}
Я просто хочу вызвать функцию добавления из C ++ в моем коде C #:
namespace UnmanagedTester
{
class Program
{
[DllImport(@"C:\CPP and CSharp Project\UnmanagedNumeric\Debug\numeric.dll", EntryPoint = "Add")]
public static extern int Add(int a, int b);
static void Main(string[] args)
{
int sum = Add(2, 3);
Console.WriteLine(sum);
}
}
}
После попытки выполнения я получил следующую ошибку :
Не удалось найти точку входа с именем 'Добавить' в DLL 'C: \ CPP и CSharp Project \ UnmanagedNumeric \ Debug \ numeric.dll'.
Я НЕ МОГУ изменить код C ++. Понятия не имею, что происходит не так. Цените вашу помощь.