Hey,
Ik ben bezig bij een .dll een .lib en .h te maken, en het lukt al aardig. heb alle functies gedocumenteerd, en heb aan de hand daarvan een .def gemaakt waarmee ik vervolgens met het "lib" commando een libje kan maken.
Echter nu heb ik een probleem:
Alle functies zijn __stdcall, maar zijn zonder enige name-decoration geexporteerd.
Als ik deze nu in de .h zet zoals dit:
Dan krijg ik de volgende linker error:
main.obj : error LNK2001: unresolved external symbol _Initialize@12
Uiteraard kan die die niet vinden, aangezien die geexport is als "Initialize"
Volgens wat ik gelezen heb zou het extern"C" stukje al de meeste name-decoration weg moeten halen, maar hier heeft VS2005 geen zin in
Heeft iemand anders nog andere tips ?
Alvast bedankt,
TB
Ik ben bezig bij een .dll een .lib en .h te maken, en het lukt al aardig. heb alle functies gedocumenteerd, en heb aan de hand daarvan een .def gemaakt waarmee ik vervolgens met het "lib" commando een libje kan maken.
Echter nu heb ik een probleem:
Alle functies zijn __stdcall, maar zijn zonder enige name-decoration geexporteerd.
Als ik deze nu in de .h zet zoals dit:
code:
1
| extern "C" HRESULT __stdcall Initialize(GUID *guid, DWORD IDCRLVersion /* should be 1 */, DWORD dwFlags /*should be 0xF*/); |
Dan krijg ik de volgende linker error:
main.obj : error LNK2001: unresolved external symbol _Initialize@12
Uiteraard kan die die niet vinden, aangezien die geexport is als "Initialize"
Volgens wat ik gelezen heb zou het extern"C" stukje al de meeste name-decoration weg moeten halen, maar hier heeft VS2005 geen zin in
Heeft iemand anders nog andere tips ?
Alvast bedankt,
TB
[img=http://www.web2messenger.com/smallstatus/w2m/theblasp.png]