Ratlos: error LNK2001: unresolved external symbol
-
Hallo alle zusammen!
Vorab: Ich habe das Problem hier gepostet weil es weniger mit der WinApi als mit C++ eigenheiten zu tun hat (glaub ich zumindest) - auch wenn es sich um eine Win32 Anwendung handelt.
Ich sitze schon seit zwei Tagen vor meiner Win32 Anwendung die einfach nich linken will.
Folgendes Problem:
Ich habe eine Konsolenanwendung bekommen, welche mittels usb auf eine kamera zugreift, einen frame holt und beendet.
da ich die bilder später auch noch mal darstellen will, möchte ich die treiberzugriffsfunktionen daher aus diesem projekt in meine win32 anwendung einbinden. leider funktioniert das nich.
was ich gemacht habe:
alle includes und variablendefinitionen ins andere projekt kopiert, header file und source files in das neue projektverzeichnis kopiert und unter VS6 eingebunden.
Leider bleiben immer beim Linken 3 Abhängigkeiten unresolved
Linking...
WinDriver_FnsB.obj : error LNK2001: unresolved external symbol _nRowsBlk
WinDriver_FnsB.obj : error LNK2001: unresolved external symbol _LPBits
WinDriver_FnsB.obj : error LNK2001: unresolved external symbol _hDataF
Debug/3DView.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.Ich kann mir diese Meldung absolut nicht erklären. LPBits ist eine Funktion die als "extern" in WinDriver_FnsB.c eingebunden wird, und hDataF, nRowsBlk sind Variable die als extern eingebunden sind. Definiert werden Sie in der file wo mein WinMain drin is.
Ich habe im Prinzip alles so aus der Konsolenanwendung übernommen wie es dort auch war, der Unterschied ist im Prinzip nur das WinMain statt Main. Trotzdem funktioniert es nicht. Ich habe die Vermutung das das an irgendwelchen Compilereinstellungen liegt. In den Sourcen des Treibers ist angegeben dass man das Projekt als "Debug-Multithreaded" compilieren soll. Wenn ich das nicht mache treten noch mehrere Fehlermeldungen dieser Art auf. Alles Linker-Probleme. Kann mir da jemand weiterhelfen? Ich hab den Verdacht das es vielleicht daran liegt das der Treiber in C programmiert ist und sich das mit C++ nich so ganz verträgt???
Bitte helft!mfg
jOe
-
Du musst ncoh die LIbs mit dazulinken
Projekt->Einstellungen->Linker oder so... hab grad VS nciht zur Hand
Da muust du unten, da wo so viele lib-Dateinen angegeben sind noch die USB-Lib mit einfügen
-
das projekt macht den treiberzugriff nicht über eingebundene libs sondern über eigene routinen, die ich verwenden MUSS (herstellerspezifischer treiber) wie gesagt ich habe das aus einer konsolenanwendung übernommen. und dem projekt von der konsolenanwendung werden auch keine weiteren libs eingebunden.