32/64 Bit Problematik
-
Moin Moin!
Ich schreibe derzeit an einem Programm, bei dem ich verschiedene DLL's einbinden muss. Eine der .dll's ist aus dem Hause Optris und dient dazu
die Daten einer Kamera auszulesen. Diese sollen dann mittels openCV verarbeitet
werden und das Ergebnis in die DB'S einer SPS mittels Libnodave geschrieben werden.
Verwende ich lediglich die Optris dll mit der opencv Bibliothek hatte ich in der
Vergangenheit Probleme, da ich Versionen in 32 und 64 Bit genutzt habe. Da Problem habe ich ausgeräumt indem ich Visual Studio 2010 Professional auf 64 Bit
umgestellt habe und die richtigen 64 bit dlls genutzt habe.
Nun möchte ich libnodave anbinden. Dies steht jedoch nur in der 32 Bit Variante zur Verfügung. Also habe ich versucht die 32 Bit dlls von optris und opencv zu nutzen und den Kompiler auf 32 bit zurück zu stellen. Versuche ich nun jedoch die exe auszuführen kommt der 0x00..7b Fehler, der ja auf eine Nutzung der falschen dlls hinweist. Dies habe ich auch in depency walker gefunden. Jedoch kenne ich mich mit dem Programm nur ungenügend aus und kann das Problem nicht genauer eingrenzen! Ich hoffe Ihr könnt mir in disem Fall helfen ! Ich habe mal einen Screenshot von Depency Walker mit der entsprechenden Stelle angehangen.http://fs1.directupload.net/images/150521/9sc5rns5.jpg
http://www.directupload.net/file/d/3994/m6w36vg8_jpg.htmMfg und Vielen Dank im Voraus
Huenerheld
-
Du hast kein Problem mit C++ => falsches Forum.
Du musst mit den 32 Bit .lib Dateien binden und die zugehörigen .dll Dateien zur Verfügung stellen (z.B. Im Programmverzeichnis).
-
Sorry dass es das falsche Forum ist!
Die korrekten lib Dateien habe ich eingebunden meiner Meinung nach. ist ja in openCV durch die Ordnerstruktur festgelegt ! Der Verweis liegt auf opencv->x86. er müsste also auch die korrekten libs binden. die dlss befinden sich ebenfalls im Verzeichnis.
Edit: Was mich halt wundert ist, dass Depency Walker die Exe für x86 angibt und die anderen Dateien für x64 angegeben werden.
-
oh mann sorry habe den Fehler gefunden. Hattest Recht. Habe durch falsches Kopieren die 64 bit dlls von opencv weiter verwendet.
Stande gerade etwas auf dem Schlauch SORRY !