Ich habe Probleme bei der Übergabe in einem Array von Zeichenfolgen von meinem C# -Code zu einer Funktion von meinem C++ Dylib.C#: Übergeben String-Array an C++ Dll/Dylib
C# -Code:
[DllImport("array2d.dylib", EntryPoint = "process_array", CallingConvention = CallingConvention.Cdecl)]
public static extern int process_array(String[] a, int b);
static void Main(string[] args)
{
String[] list = new String[] { "Abc" , "def", "ghi", "jkl"};
int josh = process_array(list, 2);
}
Meine C++ Code:
#include <string>
#include <iostream>
int process_array(char** array, int rows)
{
std::string s1 ("Array : [");
for (int i = 0; i < 6; ++i){
s1.append(array[i]);
s1.append(", ");
}
s1.append("] \n");
return 1;
}
int main()
{
}
Und die Fehler, die ich habe immer ist:
Unbehandelte Ausnahme: System.EntryPointNotFoundException: Nicht imstande, einen Eintrag zu finden Punkt namens 'Prozess_Array' in der DLL 'array2d.dylib'. bei JoshServer.Program.Process_array (String [] a, Int32 b)
Jede Hilfe wird geschätzt, danke.
Exportiert Ihre cpp-Datei irgendeine Funktion? Es muss einige Schlüsselwörter wie dllexport geben. Lesen Sie über Erstellen von DLLs in cpp. –