Ich bin bewusst, this similar question, aber es reagiert nicht auf mein Problem.Wie verwendet man eine C++ DLL in Unity3D?
Ich habe zwei .dll
s mit Visual Studio 2010 geschrieben. Eins ist in C++ und kommuniziert mit einem SDK, das in C++ geschrieben wurde. Der andere ist ein C# -Wrapper für diese C++ - Bibliothek, so dass er in C# -Kontexten verwendet werden kann.
Mein Plan war, dass dies ließ mich meinen Code in Unity3D
verwenden, aber anscheinend ist das nicht der Fall. Es scheint wie erlaubt mir nicht .dll
s als Assets zu importieren, wenn sie keine .NET
Assembly sind. So kann ich meinen C# -Wrapper hinzufügen, aber nicht die C++ - DLL.
Dies führt zu einem DllNotFoundException
, wenn ich versuche, auf die C++ - Bibliothek zuzugreifen. Ich habe versucht, einfach kopieren Sie die C++ - Bibliothek in den Ordner Assets/Plugins
, aber das gibt die gleichen Ergebnisse.
Gibt es eine Möglichkeit, dies richtig zu tun? Dies ist ein sehr wichtiger Teil meiner Projekteinrichtung.
Wie rufen Sie die C++ - DLL? Sie sollten es nicht als Referenz zu Ihrer Lösung hinzufügen. Es ist eine native Ressource. –
@SimonWithehead Ich benutze 'PInvoke' um die C++ Funktionen aufzurufen, mit' [DllImport ("Foo.dll")] '. Es funktioniert, wenn sich die beiden DLLs im selben Ordner befinden, aber ich habe keine Ahnung, wie Unity dlls-Plugins behandelt. –
Welche Lizenz verwenden Sie? Was ist dein Ziel? – aukaost