[C++]Linker frage

NightWalk3r

Well-known member
26 April 2006
45
1
hi,
ich arbeite mit dem vc++6. habe gerade eine dll erstellt, allerdings hat der linker oder compiler, wer auch immer das macht, keine lib dazu erstellt. Ich frage mich nur warum ? denn bei einer anderen dll hat der des doch auch einfach gemacht.
Also mich interessiert es zu wissen ob man dem compiler zwingen kann eine lib zu erstellen.

danke
 
Also bei Delphi kann man sowas in der Richtung genau in den Projektoptionen bzw. Compiler-Einstellungen einstellen. Am besten prüfst du das erst einmal, wenn du das noch ncith gemacht hast ;)
 
also in den linker optionen steht sowas drinn:

/implib:"Debug/AES.lib"

also sollte es nicht daran liegen...
 
/implib importiert vermutlich libs. Hast du den richtigren projhekttyp angegeben? Im 2003er Studio kannst du da auswählen ob du DLLs oder LIBs erstellen kannst. Evtl. da eine falsche Einstellung?
 
das lustigste ist eigentlich das ich schon ne SHA.dll erstellt habe, und bei der wird alles ordnungsgemäß erstellt.
Habe auch schon alle Einstellungen verglichen...

Der hauptunterschied ist wohl der das die die ich erstellen will, also die AES.DLL noch eine andere lib importiert, wesshalb ich, zum importieren der untersten dll:
PHP:
#ifndef AESDLL_EXPORTS
#define aes_rval     aes_fret __declspec(dllimport) _stdcall
#else
#define aes_rval     aes_fret __declspec(dllexport) _stdcall
#endif
und die wo es hapert habe:
PHP:
#ifdef AES_EXPORTS
#define DLL_API __declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif

p.s. die konstanten AESDLL_EXPORTS und AES_EXPORTS sind bereits in den Projektoptionen eingestellt...
 
lol, ok hat sich erledigt...man sollte die zu exportierende funktion schon im quellcode haben *grrr*
 
Seemann schrieb:
/implib importiert vermutlich libs. Hast du den richtigren projhekttyp angegeben? Im 2003er Studio kannst du da auswählen ob du DLLs oder LIBs erstellen kannst. Evtl. da eine falsche Einstellung?
Das war auch mein erste Gedanke ;)
Aber wenn man dynamische Bibliothek wählt wird trotzdem die statische .lib dazu erstellt.