У меня проблемы с использованием P / Invoke для C #. Вот функция (написанная на C ++), которую я пытаюсь вызвать из .dll:
string
BeatTracker::getName() const
{
return "Tempo and Beat Tracker";
}
А вот мой код для попытки вызова этой функции:
[DllImport("qm-vamp-plugins.dll",EntryPoint="BeatTracker")]
public static extern string getName();
public QMTempo()
{
Console.WriteLine(getName());
}
Что, похоже, не так? Я получаю BadImageFormatException. И как я могу узнать, что не так в будущих ссылках, кроме смутных имен, которые мне дает IDE? Кстати, я использую Visual Studio 2008.
Также я использую (но не уверен, правильно ли) EntryPoint, чтобы сообщить ему, что я использую функцию getName из класса BeatTracker (потому что есть также функции getName для других классов, которые включены в один .dll). файл)
Спасибо!