Veröffentlicht 9. Oktober 200519 j Hallo, ich habe eine dll in C unter erzeugt und moechte diese in einen C/C++ Project verwenden. Wie kann ich die dll einbinden/verwenden? Ich benutze Visual Studio .net 2003 als Compiler.
9. Oktober 200519 j Durch Runtime Dynamic Linking. Stichwort LoadLibrary/GetProcAddress. Wenn du eine Headerdatei und eine Importbibliothek (.lib) hast, kannst du auch Load Time Dynamic Linking benutzen. Dafür musst du die Headerdatei mittels Includedirektive einbinden und die .lib-Datei über die Projekteinstellungen oder mit einer Pragmadirektive dazulinken.
9. Oktober 200519 j Mit LoadLibrary/GetProcAddress habe ich es auch schon probiert, und es hat nicht funktioniert. Das ist das erstemal das ich eine dll einfuegen moechte, koennte jemand mir eine kurz Anleitung geben.
9. Oktober 200519 j Wie wäre es, wenn du eine bessere Fehlerbeschreibung als "hat nicht funktioniert" lieferst?
9. Oktober 200519 j Der Compiler bringt eine Syntaxfehler. #include <stdio.h> #include <string.h> LoadLibrary("MEINE.dll") int main () { ...
9. Oktober 200519 j Bitte poste ab jetzt die vollständige Fehlermeldung des Compilers und kennzeichne die Stelle im Programm. In C und C++ muss Programmcode immer in einer Funktion stehen. Außerdem brauchst du den Rückgabewert von LoadLibrary für den Aufruf von GetProcAddress, es wäre also gut, wenn du dir den in einer Variablen merken würdest. Ist auch recht hilfreich für die Fehlerdiagnose.
9. Oktober 200519 j Wenn ich "LoadLibrary("MEINE.dll")" entferne bringt er keine Fehlermeldungen mehr(ausser das er natuerlich die Funktionen nicht findet.)
9. Oktober 200519 j Wenn du Run-Time Dynamic Linking verwendest, wird der Compiler die Funktion nie "finden", weil du sie erst zur Laufzeit bindest (daher der Name), da hat der Compiler seine Arbeit längst abgeschlossen. In der MSDN Library gibt es übrigens ein schönes Beispiel.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.