LNK2019: beim einbinden anderer Quellcodes und Headers



  • Hallo zusammen,

    Ich arbeite mit .NET Studio und Versuche eine MFC Anwendung mit C++ zu schreiben, was ja auch gut hinhaut.
    Nun will ich aber Files einbinden, die mit Visual C++ geschrieben worden sind.
    Komilieren kein Problem, aber beim linke hat er probleme, genau folgendes:

    usb.obj : error LNK2019: Nicht aufgelöstes externes Symbol '__imp__SetupDiGetDeviceInterfaceDetailA@24', verwiesen in Funktion '"int __cdecl usb_ini(class CWnd *)" (?usb_ini@@YAHPAVCWnd@@@Z)'
    usb.obj : error LNK2019: Nicht aufgelöstes externes Symbol '__imp__SetupDiEnumDeviceInterfaces@20', verwiesen in Funktion '"int __cdecl usb_ini(class CWnd *)" (?usb_ini@@YAHPAVCWnd@@@Z)'
    usb.obj : error LNK2019: Nicht aufgelöstes externes Symbol '__imp__SetupDiGetClassDevsA@16', verwiesen in Funktion '"int __cdecl usb_ini(class CWnd *)" (?usb_ini@@YAHPAVCWnd@@@Z)'
    Debug/BootLdr_USB.exe : fatal error LNK1120: 3 unaufgelöste externe Verweise

    speziell geht es um die entsprechenden funktionen, die es in einer lib gibt:

    SetupDiGetDeviceInterfaceDetailA
    in setupuapi.h bzw. lib.
    die ich brauche.

    In der Erklärung heißt es,

    ...In Visual C++ .NET 2003 wird dieser Fehler erzeugt, wenn /clr verwendet wird, ohne dass der CRT mit der ausführbaren Datei verknüpft wird. ...

    und ich kann damit nichts anfangen.
    gibt es jemanden, der mir das erklären und mir hier weiterhelfen kann.

    Zum Projekt:

    Ich möchte eine Applikation für ein USB- Gerät erstellen, treiber und Struktur bzw. laufen auch,aber nicht unter .NET.
    Mit Visual C++ geht es, aber das habe ich leider nicht auf meinem Rechner zur Verfügung.

    Grüße Claus

    PS.:
    Bitte verzeiht mir falls dies nicht das richtige Forum sein sollte



  • ist das das falsche Forum?

    wenn ja könnte ich denn ein Hinweis bekommen, wo ich es posten soll?

    oder fehlen irgend welche Angaben noch?

    Gruß

    Claus



  • Die Linkerfehler sehen irgendwie nach C++/CLI Funktionsaufrufen auf(also in dem Stil) und deshalb kommt der Fehler da du .Net verwendest obwohl der Compilerschalter "/clr" der die .Net Unterstützung für den Kompiler aktiviert nicht gesetzt ist.

    Könnts das vielleicht sein?

    Gruß Talla



  • MmmH..
    Ja, das ist so in etwa die Beschreibung in der Hilfe... es könnte damit zu tun haben. Leider weis ich nicht, wie man dann die entsprechende Compiler einstellung vornimmt um das zum alufen zu bringen.
    die funktionen, an denen das scheitert gibt es ja als vorgegebene lib im .Net

    also was muß ich tun?

    Danke

    Claus



  • Denke du bist im Visual Studio / MFC forum besser aufgehoben 😉



  • Dieser Thread wurde von Moderator/in CMatt aus dem Forum C# und .NET in das Forum MFC (Visual C++) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten