Ik beschik over een VC5 project. Deze compileert & linked prima. Nu wil ik overgaan naar VC6, maar hierbij gaat het fout bij het linken van een externe library (waarvan ik de source niet heb).
Ik heb hier laatst ook een vraag over gesteld, maar toen dacht ik dat de libraries niet compatible waren. Dit is volgens mij niet het geval. Het heeft volgens mij meer iets te maken met declaraties in headerfiles ofzo, aangezien ik een van de unresolved link errors heb weten weg te werken door het volgende (gebruik makend van een .MAP file):
Nu wilde ik hetzelfde proberen met de overige unresolved link errors, bv:
maar als ik in de source code hetvolgende verander:
krijg ik de error dat __thiscall een keyword is reserved voor de future:
Wie helpt? Ik zit er al weken mee
... Alvast bedankt!
Ik heb hier laatst ook een vraag over gesteld, maar toen dacht ik dat de libraries niet compatible waren. Dit is volgens mij niet het geval. Het heeft volgens mij meer iets te maken met declaraties in headerfiles ofzo, aangezien ik een van de unresolved link errors heb weten weg te werken door het volgende (gebruik makend van een .MAP file):
code:
1
2
| int __cdecl RandomNumber(void); //__int32 RandomNumber(); |
Nu wilde ik hetzelfde proberen met de overige unresolved link errors, bv:
code:
1
2
| Linking... poosldata.lib(ppdm_keyboard.obj) : error LNK2001: unresolved external symbol "public: void __thiscall POOSLScheduler::AddExternalEventHandler(__int32 (__cdecl*)(void))" (?AddExternalEventHandler@POOSLScheduler@@QAEXP6A_HXZ@Z) |
maar als ik in de source code hetvolgende verander:
code:
1
2
| //void AddExternalEventHandler(ExternalEventHandler EEH); void __thiscall AddExternalEventHandler(__int32 (__cdecl*)(void)); |
krijg ik de error dat __thiscall een keyword is reserved voor de future:
code:
1
2
3
4
| ppdm_ir_transceiver.cpp
G:\Rotalumis\vc6_01\executionengine\data\primitivedata\../../system/scheduler.h(73) : error C4234: nonstandard extension used : '__thiscall' keyword reserved for future use
G:\Rotalumis\vc6_01\executionengine\data\primitivedata\ppdm_ir_transceiver.cpp(35) : error C2664: 'AddExternalEventHandler' : cannot convert parameter 1 from '__int32 (__cdecl *)(void)' to 'int (__cdecl *)(void)'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast |
Wie helpt? Ik zit er al weken mee