Eclipse dll einbinden

Kostik

Grünschnabel
Guten Morgen allerseits,
ich versuche verzweifelt ein SDK in Eclipse einzubinden und bekomme zur Laufzeit Fehlermeldung "Symbol not found".
Womit ich arbeite:
  • Eclipse C/C++ Version: 3.4.2
  • Mingw/GCC 3.4.2
  • PMDSDK 2.1.1
Was ich alles eingebunden habe
  • pmdaccess2.lib : myProject-->Properties-->C/C++ Build -->Settings-->MinGW C++ Linker-->Libraries--> Den path eingetragen und Lib-Namen
  • pmdsdk2.h : myProject-->Properties-->C/C++ Build -->Settings-->GCC C++ Compiler-->Directories--> Den Path der HeaderFile
  • pmdaccess2.dll : myProject-->Properties-->C/C++ Build-->Environment-->eine Variable "PATH" erstellt und als Value den path der Datei angegeben
Das Problem
Soweit ich das sehe, ist die Einbindung der dll Datei fehlerhaft. Den nach dem Build werden die eingebundene Header Files und die aufgerufene Funktionen nicht als unbekannt markiert. Es tritt nur ein Fehler zur Laufzeit auf, wenn versucht wird eine Funktion der Header-Datei auszuführen. Ich habe auch schon die dll Datei in den Windows/system32 Ordner kopiert, leider ohne Erfolg.

Ich hoffe mir kann einer weiter helfen. Danke im Voraus!
 
Hi.

Wie ist die genaue Fehlermeldung? Welches Symbol wird nicht gefunden?

Ist dieses Symbol denn in der DLL enthalten (z.B. mit CFF Explorer Suite oder Dependency Walker nachschauen).

Gruß
 
Hey,
also die Fehlermeldung die ich jetzt bekomme lautet: no source available for "_libmsvcrt_a_iname()".
Das ist die Fehlermeldung die ich bekomme, wenn den Code mit dem Debugger aufrufe. Wenn ich es als Application aufrufe, bekomme ich "MoCap.exe hat ein Problem festgestellt und muss beendet werden."
 
Zuletzt bearbeitet:
Hey,
also die Fehlermeldung die ich jetzt bekomme lautet: no source available for "_libmsvcrt_a_iname()".
Das ist die Fehlermeldung die ich bekomme, wenn den Code mit dem Debugger aufrufe.
Das ist irrelevant. Das heißt nur das der Debugger nicht den Code der genannten Funktion zur Verfügung hat.
Wenn ich es als Application aufrufe, bekomme ich "MoCap.exe hat ein Problem festgestellt und muss beendet werden."
Das deutet dann eher auf einen Programmierfehler / eine Exception hin.

Führe das Programm in der Kommandozeile aus.

Schau mit dem Dependency Walker nach ob irgendwelche DLLs nicht gefunden oder Symbole nicht aufgelöst werden können.

Gruß
 
Danke für deine Mühe und für die Empfehlung des Programms "Dependency Walker" deepthroat!!
Dependency Walker hat bei mir keine Probleme festgestellt, somit lag ich falsch. Ich habe jetzt alle Zeilen auskommentiert und nur eine gelassen(unten zu sehen). Wenn ich die ausführe in der Kommandozeile oder auch so, bekomme ich die Fehlermeldung: Die Anweisung in "0x010b16b3" verweist auf Speicher in "0x00000004". Der Vorgang "read" konnte nicht auf dem Speicher durchgeführt werden.
Ich frage mich, warum nicht?

Code:
// The handle is used to identify a connection 
	PMDHandle hnd;

	pmdOpen (&hnd, "pmdfile.W32.pcp", "2_personen.pmd","camcubeproc.W32.ppp","");

Mit pmdOpen baue ich eine Verbindung mit einer TOF-Kamera auf und die Pixel-Werte werden in hnd reingeschrieben.
 
Danke für deine Mühe und für die Empfehlung des Programms "Dependency Walker" deepthroat!!
Dependency Walker hat bei mir keine Probleme festgestellt, somit lag ich falsch. Ich habe jetzt alle Zeilen auskommentiert und nur eine gelassen(unten zu sehen). Wenn ich die ausführe in der Kommandozeile oder auch so, bekomme ich die Fehlermeldung: Die Anweisung in "0x010b16b3" verweist auf Speicher in "0x00000004". Der Vorgang "read" konnte nicht auf dem Speicher durchgeführt werden.
Ich frage mich, warum nicht?

Code:
// The handle is used to identify a connection 
	PMDHandle hnd;

	pmdOpen (&hnd, "pmdfile.W32.pcp", "2_personen.pmd","camcubeproc.W32.ppp","");
Es wird dort offenbar versucht 2 Plugins (in Form von DLLs) zu laden. Evtl. sind diese DLLs fehlerhaft oder die pmdOpen bzw. die DLLs versuchen auf eine Hardwareadresse zuzugreifen die nicht existiert (weil anders konfiguriert o.ä).

Wende dich evtl. mit einer Supportanfrage an den Hersteller / SDK Lieferanten.

Gruß
 
Zurück