VS 2003 .NET Einstellung - Unresolved external symbol



  • Hallo.

    Beim einbinden der Headerdatei <commctrl.h> und implementieren eines List-Views
    treten drei unresolved externals auf:
    1. error LNK2019: unresolved external symbol __imp__InitCommonControlsEx@4 referenced in function "struct HWND__ * __cdecl CreateListView(struct HWND__ *)" (?CreateListView@@YAPAUHWND__@@PAU1@@Z)
    2. error LNK2019: unresolved external symbol __imp__ImageList_ReplaceIcon@12 referenced in function "bool __cdecl CreateImageList(struct HWND__ *)" (?CreateImageList@@YA_NPAUHWND__@@@Z)
    3. error LNK2019: unresolved external symbol __imp__ImageList_Create@20 referenced in function "bool __cdecl CreateImageList(struct HWND__ *)" (?CreateImageList@@YA_NPAUHWND__@@@Z)

    Meine Vermutung ist, dass der Compiler eine ältere oder andere Version von der Headerdatei <commctrl.h> einbindet. In einem früheren Projekt hat dies noch
    funktioniert. Nur wundert es mich, dass ich seit der Neueinrichtung des Computers das Einbinden von Headern nicht mehr mit <commctrl> (also ohne .h) funktioniert. Das Projekt ist in C++ geschrieben und (noch) keine Projekteinstellungen geändert.
    Danke für jede Idee, wie ich das mit dem Header bzw. die unresolved externals lösen kann.
    Mfg.



  • .\Anfänger schrieb:

    Meine Vermutung ist, dass der Compiler eine ältere oder andere Version von der Headerdatei <commctrl.h> einbindet.

    Mit deinem Compiler hat das nix zu tun. Wie dir vielleicht an den Fehlermeldungen auffällt, ist der Linker dafür verantwortlich. Du musst also entsprechende Libs einbinden. Für InitCommonControlsEx wäre das zB comctl32.lib (IIRC).

    .\Anfänger schrieb:

    Nur wundert es mich, dass ich seit der Neueinrichtung des Computers das Einbinden von Headern nicht mehr mit <commctrl> (also ohne .h) funktioniert.

    Und das hat mal funktioniert? Ich kenne zumindest keine <commctrl>, sondern nur <commctrl.h>. Bei solchen seltsamen Header Geschichten ist es eigentlich immer gut, ohne vorkompilierte Header zu arbeiten.



  • Danke sehr für die Antwort.
    Nachdem ich die comctl32.lib beim Linker unter Projekteigenschaften als zusätzliche Datei angegeben habe, wird das ganze einwandfrei gelinkt :).

    Mfg.


Anmelden zum Antworten