Bibliothek einfügen



  • Für eine Übungsaufgabe haben wir eine .lib bekommen, die wir über den Linker einfügen sollen. Damals hat es geheissen, einfach Eigenschaften -> Linker und dann einfügen, jedoch kann ich da nix finden.
    Benutze Visual Studio .net

    Hat da vielleicht jemand ne Idee? In google konnte ich auch nichts finden



  • #pragma comment(lib, "deinelib")
    

    mag ich persönlich viel lieber als das in den Einstellungen zu machen.



  • Von der Möglichkeit hab ich auch schon gehört. In welchen Ordner sollte man die lib dann kopieren ?

    Edit:

    Ich bekomm jetz folgende Fehlermeldungen:
    Verknüpfen...
    LdTextFile.lib(LdTextFile.obj) : error LNK2005: "public: __thiscall std::locale::locale(void)" (??0locale@std@@QAE@XZ) bereits in libcpd.lib(locale0.obj) definiert
    LdTextFile.lib(LdTextFile.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '"void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)', verwiesen in Funktion '"public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(unsigned int,char)" (?append@?basic_string@DU?basic\_string@DU?char_traits@D@std@@V?allocator@D@2@@std@@QAEAAV12@ID@Z)' LdTextFile.lib(LdTextFile.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '"void \_\_cdecl std::\_Xran(void)" (?\_Xran@std@@YAXXZ)', verwiesen in Funktion '"public: class std::basic\_string,class std::allocator > & \_\_thiscall std::basic\_string,class std::allocator >::erase(unsigned int,unsigned int)" (?erase@?basic_string@DU?char_traits@D@std@@V?char\_traits@D@std@@V?allocator@D@2@@std@@QAEAAV12@II@Z)'
    LdTextFile.lib(LdTextFile.obj) : error LNK2001: Nichtaufgelöstes externes Symbol "__int64 const std::_Fpz" (?_Fpz@std@@3_JB)
    LdTextFile.lib(LdTextFile.obj) : error LNK2001: Nichtaufgelöstes externes Symbol "private: static class std::locale::_Locimp * std::locale::_Locimp::_Global" (?_Global@_Locimp@locale@std@@0PAV123@A)
    LdTextFile.lib(LdTextFile.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '"struct _iobuf * __cdecl std::__Fiopen(char const *,int)" (?__Fiopen@std@@YAPAU_iobuf@@PBDH@Z)', verwiesen in Funktion '"public: class std::basic_filebuf<char,struct std::char_traits<char> > * __thiscall std::basic_filebuf<char,struct std::char_traits<char> >::open(char const *,int)" (?open@?basic_filebuf@DU?basic\_filebuf@DU?char_traits@D@std@@@std@@QAEPAV12@PBDH@Z)'
    LdTextFile.lib(LdTextFile.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '"protected: void __thiscall std::ios_base::_Addstd(void)" (?_Addstd@ios_base@std@@IAEXXZ)', verwiesen in Funktion '"protected: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::init(class std::basic_streambuf<char,struct std::char_traits<char> > *,bool)" (?init@?basic_ios@DU?basic\_ios@DU?char_traits@D@std@@@std@@IAEXPAV?basic_streambuf@DU?basic\_streambuf@DU?char_traits@D@std@@@2@_N@Z)'
    LdTextFile.lib(LdTextFile.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '"public: bool __thiscall std::locale::_Iscloc(void)const " (?_Iscloc@locale@std@@QBE_NXZ)', verwiesen in Funktion '"class std::ctype<char> const & __cdecl std::use_facet(class std::locale const &,class std::ctype<char> const *,bool)" (?use_facet@std@@YAABV?ctype@D@1@ABVlocale@1@PBV21@\_N@Z)' LdTextFile.lib(LdTextFile.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '"public: class std::locale::facet const * \_\_thiscall std::locale::\_Getfacet(unsigned int,bool)const " (?\_Getfacet@locale@std@@QBEPBVfacet@12@I\_N@Z)', verwiesen in Funktion '"class std::ctype const & \_\_cdecl std::use\_facet(class std::locale const &,class std::ctype const *,bool)" (?use\_facet@std@@YAABV?ctype@D@1@ABVlocale@1@PBV21@_N@Z)'
    LdTextFile.lib(LdTextFile.obj) : error LNK2001: Nichtaufgelöstes externes Symbol "private: static short const * const std::ctype<char>::_Cltab" (?_Cltab@?$ctype@D@std@@0PBFB)
    Debug/Übungsblatt 5.exe : fatal error LNK1120: 9 unaufgelöste externe Verweise

    Für mich hört sich das an, als ob in der lib Verzeichnisse angegeben sind, die halt nur auf dem PC existieren, der die lib geschrieben hat, oder ?



  • Geh mal auf die Projekteigenschaften, dort unter Linker. Bei Einabe kannst du die Libs explizit angeben. Dann kann man dort noch "Zusätzliche Libpfade" oder so angeben, dort dann das entsprechende Verzeichnis angeben. Dazu ist es unter Optionen möglich, die Verzeichnisse global zu setzen.

    MfG Kimmi



  • Danke, bekomme aber immernoch die gleichen Fehlermeldungen wie vorher 😞



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum MFC mit dem Visual C++ verschoben.

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

    Dieses Posting wurde automatisch erzeugt.



  • godlikebot schrieb:

    #pragma comment(lib, "deinelib")
    

    mag ich persönlich viel lieber als das in den Einstellungen zu machen.

    Ist aber compiler-spezifisch und daher nicht zu empfehlen.

    pippo schrieb:

    Damals hat es geheissen, einfach Eigenschaften -> Linker und dann einfügen, jedoch kann ich da nix finden

    Projekteinstellungen ➡ Linker ➡ Input ➡ Additional Dependencies



  • So, hab jetz mitlerweile herausgefunden, dass es am Compiler von VS .net liegt. Der Compiler von VS 6 hält sich scheinbar nicht an alle Standards und drum ist es ihm wohl egal.

    Kann ich am Compiler von VS .net irgendwas umstellen, damit das läuft? Ist mir ehrlich gesagt zu dumm, VS .net zu deinstallieren und das alte VS 6 draufzuspielen.


Anmelden zum Antworten