[llvm-dev] Using LLD to link against third-party libraries? How? (original) (raw)
David Greene via llvm-dev llvm-dev at lists.llvm.org
Tue Dec 11 14:30:40 PST 2018
- Previous message: [llvm-dev] Using LLD to link against third-party libraries? How?
- Next message: [llvm-dev] Using LLD to link against third-party libraries? How?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Are you linking with a C++ compiler? A lot of those missing symbols look like they come from the C++ standard library.
-David
Osman Zakir via llvm-dev <llvm-dev at lists.llvm.org> writes:
@blubee blubeeme So what do you think? Got any ideas? ---------------------------------------------------------------------- From: Osman Zakir <osmanzakir90 at hotmail.com> Sent: Wednesday, December 12, 2018 1:43 AM To: llvm-dev at lists.llvm.org Subject: Re: [llvm-dev] Using LLD to link against third-party libraries? How? In my code here https://github.com/DragonOsman/currencyconverter , I used C++17 and managed to get it to work (though I'm only using std::map::insertorassign() from C++17). And I'm using Windows, so I shouldn't use LDFLAGS or CXXFLAGS as environment variables. I'll use them directly on the compiler command line instead. The libraries I need to link against are C:/boost1680/stage/lib/libboostsystem-vc141-mt-x64-168.lib and C:/Jinja2Cpp/installx64/lib/static/jinja2cpp.lib.
I tried to build it with this flag: " clang++ -std=c++17 -Wall -pedantic - DSILENCECXX17ADAPTORTYPEDEFSDEPRECATIONWARNING - DvariantCONFIGSELECTVARIANT=variantVARIANTNONSTD - DSILENCECXX17ALLOCATORVOIDDEPRECATIONWARNING - DCRTSECURENOWARNINGS -DWINSOCKDEPRECATEDNOWARNINGS -DWIN32 - DWIN32WINDOWS -DNDEBUG -fexceptions - IC:/Jinja2Cpp/installx64/include -IC:/json/singleinclude - IC:/boost1680 - LC:/boost1680/stage/lib/libboostsystem-vc141-mt-x64-168.lib - LC:/Jinja2Cpp/installx64/lib/static/jinja2cpp.lib currencyconverter.cpp -o currencyconverter.exe " And I got these warnings and errors from LLD: " lld-link: warning: C:\Users\Osman\AppData\Local\Temp\currencyconverter-264ae1.o: locally _defined symbol imported: stdterminate (defined in libvcruntime.lib (ehhelpers.obj)) [LNK4217] _lld-link: error: undefined symbol: "public: cdecl jinja2::Template::Template(class jinja2::TemplateEnv *)" (??0Template at jinja2@@QEAA at PEAVTemplateEnv@1@@Z)
referenced by C:\Users\Osman\AppData\Local\Temp\currencyconverter-264ae1.o:("void cdecl handlerequest<struct_ _boost::beast::http::basicstringbody<char, struct_ _std::chartraits, class std::allocator>, class std::allocator, struct serversession::sendlambda &>(class boost::basicstringview<char, struct std::chartraits>, struct boost::beast::http::message<1, struct_ _boost::beast::http::basicstringbody<char, struct_ _std::chartraits, class std::allocator>, class boost::beast::http::basicfields<class std::allocator>> &&, struct serversession::sendlambda &, char const *, char const *)" (??$handlerequest at U?$basicstringbody at DU?$chartraits at D@std@@V?$allocator at D@2@@http at beast@boost@@V? $allocator at D@std@@AEAUsendlambda at serversession@@@@YAXV?$basicstring view at DU?$chartraits at D@std@@@boost@@$$QEAU?$message@$00U?$basicstring body at DU?$chartraits at D@std@@V?$allocator at D@2@@http at beast@boost@@V?$basic fields at V?$allocator at D@std@@@234@@http at beast@1 at AEAUsendlambda@serversession@@PEBD3 at Z) ) lld-link: error: undefined symbol: "public: class _nonstd::expectedlite::expected<void, class_ _jinja2::ErrorInfoTpl> cdecl jinja2::Template::LoadFromFile (class std::basicstring<char, struct std::chartraits, class std::allocator> const &)" (?LoadFromFile at Template@jinja2@@QEAA?AV?$expected at XV?$ErrorInfoTpl at D@jinja2@@@expected lite at nonstd@@AEBV?$basicstring at DU?$chartraits at D@std@@V?$allocator at D@2@@std@@@Z) referenced by C:\Users\Osman\AppData\Local\Temp\currencyconverter-264ae1.o:("void cdecl handlerequest<struct_ _boost::beast::http::basicstringbody<char, struct_ _std::chartraits, class std::allocator>, class std::allocator, struct serversession::sendlambda &>(class boost::basicstringview<char, struct std::chartraits>, struct boost::beast::http::message<1, struct_ _boost::beast::http::basicstringbody<char, struct_ _std::chartraits, class std::allocator>, class boost::beast::http::basicfields<class std::allocator>> &&, struct serversession::sendlambda &, char const *, char const *)" (??$handlerequest at U?$basicstringbody at DU?$chartraits at D@std@@V?$allocator at D@2@@http at beast@boost@@V? $allocator at D@std@@AEAUsendlambda at serversession@@@@YAXV?$basicstring view at DU?$chartraits at D@std@@@boost@@$$QEAU?$message@$00U?$basicstring body at DU?$chartraits at D@std@@V?$allocator at D@2@@http at beast@boost@@V?$basic fields at V?$allocator at D@std@@@234@@http at beast@1 at AEAUsendlambda@serversession@@PEBD3 at Z) ) lld-link: error: undefined symbol: "public: class std::basicstring<char, struct std::chartraits, class _std::allocator> cdecl jinja2::Template::RenderAsString(class std::unorderedmap<class std::basicstring<char, struct_ _std::chartraits, class std::allocator>, class jinja2::Value, struct std::hash<class std::basicstring<char, struct_ _std::chartraits, class std::allocator>>, struct std::equalto<class std::basicstring<char, struct_ _std::chartraits, class std::allocator>>, class std::allocator<struct std::pair<class std::basicstring<char, struct_ _std::chartraits, class std::allocator> const, class jinja2::Value>>> const &)" (?RenderAsString at Template@jinja2@@QEAA?AV?$basicstring at DU?$chartraits at D@std@@V? $allocator at D@2@@std@@AEBV?$unorderedmap at V?$basicstring at DU?$chartraits at D@std@@V? $allocator at D@2@@std@@VValue at jinja2@@U?$hash at V?$basicstring at DU?$chartraits at D@std@@V? $allocator at D@2@@std@@@2 at U?$equalto at V?$basicstring at DU?$chartraits at D@std@@V? $allocator at D@2@@std@@@2 at V?$allocator at U?$pair@$$CBV?$basicstring at DU?$char traits at D@std@@V?$allocator at D@2@@std@@VValue at jinja2@@@std@@@2@@4@@Z) referenced by C:\Users\Osman\AppData\Local\Temp\currencyconverter-264ae1.o:("void cdecl handlerequest<struct_ _boost::beast::http::basicstringbody<char, struct_ _std::chartraits, class std::allocator>, class std::allocator, struct serversession::sendlambda &>(class boost::basicstringview<char, struct std::chartraits>, struct boost::beast::http::message<1, struct_ _boost::beast::http::basicstringbody<char, struct_ _std::chartraits, class std::allocator>, class boost::beast::http::basicfields<class std::allocator>> &&, struct serversession::sendlambda &, char const *, char const *)" (??$handlerequest at U?$basicstringbody at DU?$chartraits at D@std@@V?$allocator at D@2@@http at beast@boost@@V? $allocator at D@std@@AEAUsendlambda at serversession@@@@YAXV?$basicstring view at DU?$chartraits at D@std@@@boost@@$$QEAU?$message@$00U?$basicstring body at DU?$chartraits at D@std@@V?$allocator at D@2@@http at beast@boost@@V?$basic fields at V?$allocator at D@std@@@234@@http at beast@1 at AEAUsendlambda@serversession@@PEBD3 at Z) ) referenced by C:\Users\Osman\AppData\Local\Temp\currencyconverter-264ae1.o:("void cdecl handlerequest<struct_ _boost::beast::http::basicstringbody<char, struct_ _std::chartraits, class std::allocator>, class std::allocator, struct serversession::sendlambda &>(class boost::basicstringview<char, struct std::chartraits>, struct boost::beast::http::message<1, struct_ _boost::beast::http::basicstringbody<char, struct_ _std::chartraits, class std::allocator>, class boost::beast::http::basicfields<class std::allocator>> &&, struct serversession::sendlambda &, char const *, char const *)" (??$handlerequest at U?$basicstringbody at DU?$chartraits at D@std@@V?$allocator at D@2@@http at beast@boost@@V? $allocator at D@std@@AEAUsendlambda at serversession@@@@YAXV?$basicstring view at DU?$chartraits at D@std@@@boost@@$$QEAU?$message@$00U?$basicstring body at DU?$chartraits at D@std@@V?$allocator at D@2@@http at beast@boost@@V?$basic fields at V?$allocator at D@std@@@234@@http at beast@1 at AEAUsendlambda@serversession@@PEBD3 at Z) ) _lld-link: error: undefined symbol: "public: cdecl jinja2::Template::~Template(void)" (??1Template at jinja2@@QEAA at XZ) referenced by C:\Users\Osman\AppData\Local\Temp\currencyconverter-264ae1.o:("void cdecl handlerequest<struct_ _boost::beast::http::basicstringbody<char, struct_ _std::chartraits, class std::allocator>, class std::allocator, struct serversession::sendlambda &>(class boost::basicstringview<char, struct std::chartraits>, struct boost::beast::http::message<1, struct_ _boost::beast::http::basicstringbody<char, struct_ _std::chartraits, class std::allocator>, class boost::beast::http::basicfields<class std::allocator>> &&, struct serversession::sendlambda &, char const *, char const *)" (??$handlerequest at U?$basicstringbody at DU?$chartraits at D@std@@V?$allocator at D@2@@http at beast@boost@@V? $allocator at D@std@@AEAUsendlambda at serversession@@@@YAXV?$basicstring view at DU?$chartraits at D@std@@@boost@@$$QEAU?$message@$00U?$basicstring body at DU?$chartraits at D@std@@V?$allocator at D@2@@http at beast@boost@@V?$basic fields at V?$allocator at D@std@@@234@@http at beast@1 at AEAUsendlambda@serversession@@PEBD3 at Z) ) referenced by C:\Users\Osman\AppData\Local\Temp\currencyconverter-264ae1.o:("int
void _cdecl handlerequest<struct_ _boost::beast::http::basicstringbody<char, struct_ _std::chartraits<char>, class std::allocator<char>>, class_ _std::allocator<char>, struct serversession::sendlambda &>(class_ _boost::basicstringview<char, struct std::chartraits<char>>, struct_ _basicstringview<char, struct_ _std::chartraits<char>>::beast::http::message<1, struct_ _boost::beast::http::basicstringbody<char, struct_ _std::chartraits<char>, class std::allocator<char>>, class_ _boost::beast::http::basicfields<class std::allocator<char>>> &&,_ _struct serversession::sendlambda &, char const *, char const *)'::_ _
1'::dtor$114" (?dtor$114@?0???$handlerequest at U?$basicstringbody at DU?$chartraits at D@std@@V? $allocator at D@2@@http at beast@boost@@V?$allocator at D@std@@AEAUsendlambda at server session@@@@YAXV?$basicstringview at DU?$chartraits at D@std@@@boost@@$$QEAU? $message@$00U?$basicstringbody at DU?$chartraits at D@std@@V?$allocator at D@2@@http at beast@boost@@V? $basicfields at V?$allocator at D@std@@@234@@http at beast@1 at AEAUsendlambda@server session@@PEBD3 at Z@4HA)) lld-link: warning: C:\Users\Osman\AppData\Local\Temp\currencyconverter-264ae1.o: locally defined symbol imported: CxxThrowException (defined in libvcruntime.lib(throw.obj)) [LNK4217] lld-link: error: undefined symbol: "class _boost::system::errorcategory const & cdecl boost::system::detail::systemcategoryncx(void)" (?systemcategoryncx at detail@system at boost@@YAAEBVerrorcategory at 23@XZ) referenced by C:\Users\Osman\AppData\Local\Temp\currencyconverter-264ae1.o:("class _boost::system::errorcategory const & cdecl boost::system::systemcategory(void)" (?systemcategory at system@boost@@YAAEBVerrorcategory at 12@XZ)) lld-link: warning: C:\Users\Osman\AppData\Local\Temp\currencyconverter-264ae1.o: locally _defined symbol imported: RTDynamicCast (defined in libvcruntime.lib (rtti.obj)) [LNK4217] lld-link: error: undefined symbol: "class _boost::system::errorcategory const & cdecl boost::system::detail::genericcategoryncx(void)" (?genericcategoryncx at detail@system at boost@@YAAEBVerrorcategory at 23@XZ) referenced by C:\Users\Osman\AppData\Local\Temp\currencyconverter-264ae1.o:("class _boost::system::errorcategory const & cdecl boost::system::genericcategory(void)" (?genericcategory at system@boost@@YAAEBVerrorcategory at 12@XZ)) clang++: error: linker command failed with exit code 1 (use -v to see invocation) " * GitHub - DragonOsman/currencyconverter: Application for Computer Science course Google Maps + Currency Converter Web Application. Application for Computer Science course. This is a currency converter web application with the frontend and a backend. github.com *
LLVM Developers mailing list llvm-dev at lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
- Previous message: [llvm-dev] Using LLD to link against third-party libraries? How?
- Next message: [llvm-dev] Using LLD to link against third-party libraries? How?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]