Hallo. Ich habe folgendes Problem. Ich habe ein Win32 konsolenprojekt erschaffen mit C++. Dieses Programm soll in eine C# Oberfläche eingebunden werden. Will jetzt eine verwendbare dll erzeugen die meine Funktionen exportiert bzw. importiert. Habe die dll schon hinbekommen, alledings werden keine Funktionen nicht exportiert auf die ich zugreifen kann. Kann mir jemand sagen wie ich das machen kann? Danke
Welchen compiler verwendest du denn ... sollte eigentlich nicht sein, aber die verhalten sich meist unterschiedlich :-)
unter dem MS compiler gibts macros, die dir deine funktionen gleich exportieren lassen ... undabhaengig davon gibts noch die .def file methode ....
BTW: wenn du VS installiert hasst, kannst mit rechter maustaste view dependencies sehen, was fuer symbole die Dll exportiert .... (gut fuer fehlersuche)
ansonsten musst du z.b eben wie schon erwähnt mit __declspec(dllexport) (eines der makros) die funktion exportieren. -- class God : public ChuckNorris { };
Ja, aber benutz lieber das def file, damit kommt auch der gcc (mingw) ohne aenderungen am Quellcode klar .... Wichtig, wenn die funktionen in anderen programmiersprachen verwenden willst, mergling expliziet ausschalten und parameter-syntax korrekt auf Windows einstellen .... (__stdcall)