Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » neue lib erstellt aber linkerfehler

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
29.06.2006, 14:20 Uhr
GehirnGulasch



Hallo Leute,

ich hoffe ihr könnt mir helfen. ich habe folgendes problem:

ich habe eine sw in form einer dll + lib + def bekommen um daten aus einer sps auslesen zu können, weil ich das für mein dipl. arbeit brauche, dazu gab es ein beispielprogramm, das mit visual studio 6 erstellt wurde. jetzt hab ich mal meine eigene kleine konsolenanwendung geschrieben um das zu testen. hat in vs 6 auch prima gefunzt. da ich das ganze aber in ein visual studio 2003 projekt einbinden muss, hab ich die selbe applikation auch nochmal in 2003 geschrieben. wenn ich die dort ausführe hauts mir aber, sobald ich die erste funktion aus der dll aufrufe nen fehler "falscher handle" um die ohren. ich dachte das liegt vielleicht daran, das das lib file für vs 6 erstellt wurde und hab mir mit lib.exe ne neue lib für 2003 erstellt. wenn ich die jetzt aber einbinde compiliert er zwar, aber der linker sagt:

ProDave2003 error LNK2019: Nicht aufgelöstes externes Symbol '_load_tool@12', verwiesen in Funktion '_main'
ProDave2003 error LNK2019: Nicht aufgelöstes externes Symbol '_new_ss@4', verwiesen in Funktion '__catch$_main$0'
ProDave2003 error LNK2019: Nicht aufgelöstes externes Symbol '_unload_tool@0', verwiesen in Funktion '__catch$_main$0'


hat jemand ne ahnung wo der fehler liegt?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.06.2006, 14:30 Uhr
xXx
Devil


hmm jo... hast de die dlls denn für export definiert?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
29.06.2006, 14:40 Uhr
GehirnGulasch



Wie meinst du das?
Ums mal Vorweg zu sagen. Ich hab nicht so mega viel Erfahrung mit dlls und dem ganzen Zeug.
Wo und für was muss ich die dll definieren? Mit der mitgelieferten lib und der dll liefs bis auf die Exception. Ich hab jetzt nur die mitgelieferte lib durch die mit lib.exe erstellt lib ersetzt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
29.06.2006, 17:09 Uhr
xXx
Devil


hmm--- __declspec(dllexport) bzw __declspec(dllimport) vor den Funktionen/Klassen/Variablen/usw., die du außerhalb der dll verwenden willst...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
30.06.2006, 09:06 Uhr
~GehirnGulasch
Gast


__declspect(dllexport) kann ich ja nicht davor schreiben, da ich ja sonst in die fertige dll reinkucken müsste ;o) aber da es mit der mitgelieferten lib ging, müssen die funktionen ja exportiert werden.
wenn ich jetzt die mitgelieferte lib nehm und nen mitgelieferten header, dann hab ich __declspec(dllimport) nicht gebraucht, der hat die funktionen auch so gefunden über die deklaration im header und den einsprungpunkt der in der lib steht, wenn ich das richtig verstanden habe. nur wenn ich aus der def und der dll ne neue lib erstelle gehts halt irgendwie nicht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: