<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="color: rgb(0, 0, 0); font-family: Calibri,Helvetica,sans-serif; font-size: 12pt;">
<span><a class="_2IO1Ch3RhP3yvSyc3x2AA0 mention ms-bgc-nlr ms-fcl-b" id="OWAAM409649" href="mailto:gurenchan@gmail.com">@blubee blubeeme</a> So what do you think?  Got any ideas?</span></div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Osman Zakir <osmanzakir90@hotmail.com><br>
<b>Sent:</b> Wednesday, December 12, 2018 1:43 AM<br>
<b>To:</b> llvm-dev@lists.llvm.org<br>
<b>Subject:</b> Re: [llvm-dev] Using LLD to link against third-party libraries? How?</font>
<div> </div>
</div>
<style type="text/css" style="display:none">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div style="color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif; font-size:12pt">
In my code here <a id="LPlnk711090" href="https://github.com/DragonOsman/currency_converter">
https://github.com/DragonOsman/currency_converter</a> , I used C++17 and managed to get it to work (though I'm only using std::map::insert_or_assign() 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:/boost_1_68_0/stage/lib/libboost_system-vc141-mt-x64-1_68.lib and C:/Jinja2Cpp/install_x64/lib/static/jinja2cpp.lib.</div>
<div style="color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif; font-size:12pt">
<br>
</div>
<div style="color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif; font-size:12pt">
I tried to build it with this flag:</div>
<div style="color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif; font-size:12pt">
"</div>
<div style="color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif; font-size:12pt">
clang++ -std=c++17 -Wall -pedantic -D_SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING -Dvariant_CONFIG_SELECT_VARIANT=variant_VARIANT_NONSTD -D_SILENCE_CXX17_ALLOCATOR_VOID_DEPRECATION_WARNING -D_CRT_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS -D_WIN32
 -D_WIN32_WINDOWS -D_NDEBUG -fexceptions -IC:/Jinja2Cpp/install_x64/include -IC:/json/single_include -IC:/boost_1_68_0 -LC:/boost_1_68_0/stage/lib/libboost_system-vc141-mt-x64-1_68.lib -LC:/Jinja2Cpp/install_x64/lib/static/jinja2cpp.lib currency_converter.cpp
 -o currency_converter.exe</div>
<div style="color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif; font-size:12pt">
"</div>
<div style="color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif; font-size:12pt">
And I got these warnings and errors from LLD:</div>
<div style="color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif; font-size:12pt">
<br>
</div>
<div style="color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif; font-size:12pt">
"  </div>
<div style="color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif; font-size:12pt">
<span>lld-link: warning: C:\Users\Osman\AppData\Local\Temp\currency_converter-264ae1.o: locally defined symbol imported: __std_terminate (defined in libvcruntime.lib(ehhelpers.obj)) [LNK4217]<br>
</span>
<div>lld-link: error: undefined symbol: "public: __cdecl jinja2::Template::Template(class jinja2::TemplateEnv *)" (??0Template@jinja2@@QEAA@PEAVTemplateEnv@1@@Z)​</div>
<div>>>> referenced by C:\Users\Osman\AppData\Local\Temp\currency_converter-264ae1.o:("void __cdecl handle_request<struct boost::beast::http::basic_string_body<char, struct std::char_traits<char>, class std::allocator<char>>, class std::allocator<char>, struct
 server_session::send_lambda &>(class boost::basic_string_view<char, struct std::char_traits<char>>, struct boost::beast::http::message<1, struct boost::beast::http::basic_string_body<char, struct std::char_traits<char>, class std::allocator<char>>, class boost::beast::http::basic_fields<class
 std::allocator<char>>> &&, struct server_session::send_lambda &, char const *, char const *)" (??$handle_request@U?$basic_string_body@DU?$char_traits@D@std@@V?$allocator@D@2@@http@beast@boost@@V?$allocator@D@std@@AEAUsend_lambda@server_session@@@@YAXV?$basic_string_view@DU?$char_traits@D@std@@@boost@@$$QEAU?$message@$00U?$basic_string_body@DU?$char_traits@D@std@@V?$allocator@D@2@@http@beast@boost@@V?$basic_fields@V?$allocator@D@std@@@234@@http@beast@1@AEAUsend_lambda@server_session@@PEBD3@Z))​</div>
<div>​</div>
<div>lld-link: error: undefined symbol: "public: class nonstd::expected_lite::expected<void, class jinja2::ErrorInfoTpl<char>> __cdecl jinja2::Template::LoadFromFile(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const
 &)" (?LoadFromFile@Template@jinja2@@QEAA?AV?$expected@XV?$ErrorInfoTpl@D@jinja2@@@expected_lite@nonstd@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)​</div>
<div>>>> referenced by C:\Users\Osman\AppData\Local\Temp\currency_converter-264ae1.o:("void __cdecl handle_request<struct boost::beast::http::basic_string_body<char, struct std::char_traits<char>, class std::allocator<char>>, class std::allocator<char>, struct
 server_session::send_lambda &>(class boost::basic_string_view<char, struct std::char_traits<char>>, struct boost::beast::http::message<1, struct boost::beast::http::basic_string_body<char, struct std::char_traits<char>, class std::allocator<char>>, class boost::beast::http::basic_fields<class
 std::allocator<char>>> &&, struct server_session::send_lambda &, char const *, char const *)" (??$handle_request@U?$basic_string_body@DU?$char_traits@D@std@@V?$allocator@D@2@@http@beast@boost@@V?$allocator@D@std@@AEAUsend_lambda@server_session@@@@YAXV?$basic_string_view@DU?$char_traits@D@std@@@boost@@$$QEAU?$message@$00U?$basic_string_body@DU?$char_traits@D@std@@V?$allocator@D@2@@http@beast@boost@@V?$basic_fields@V?$allocator@D@std@@@234@@http@beast@1@AEAUsend_lambda@server_session@@PEBD3@Z))​</div>
<div>​</div>
<div>lld-link: error: undefined symbol: "public: class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> __cdecl jinja2::Template::RenderAsString(class std::unordered_map<class std::basic_string<char, struct std::char_traits<char>,
 class std::allocator<char>>, class jinja2::Value, struct std::hash<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>, struct std::equal_to<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>>,
 class std::allocator<struct std::pair<class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const, class jinja2::Value>>> const &)" (?RenderAsString@Template@jinja2@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBV?$unordered_map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@VValue@jinja2@@U?$hash@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@U?$equal_to@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@VValue@jinja2@@@std@@@2@@4@@Z)​</div>
<div>>>> referenced by C:\Users\Osman\AppData\Local\Temp\currency_converter-264ae1.o:("void __cdecl handle_request<struct boost::beast::http::basic_string_body<char, struct std::char_traits<char>, class std::allocator<char>>, class std::allocator<char>, struct
 server_session::send_lambda &>(class boost::basic_string_view<char, struct std::char_traits<char>>, struct boost::beast::http::message<1, struct boost::beast::http::basic_string_body<char, struct std::char_traits<char>, class std::allocator<char>>, class boost::beast::http::basic_fields<class
 std::allocator<char>>> &&, struct server_session::send_lambda &, char const *, char const *)" (??$handle_request@U?$basic_string_body@DU?$char_traits@D@std@@V?$allocator@D@2@@http@beast@boost@@V?$allocator@D@std@@AEAUsend_lambda@server_session@@@@YAXV?$basic_string_view@DU?$char_traits@D@std@@@boost@@$$QEAU?$message@$00U?$basic_string_body@DU?$char_traits@D@std@@V?$allocator@D@2@@http@beast@boost@@V?$basic_fields@V?$allocator@D@std@@@234@@http@beast@1@AEAUsend_lambda@server_session@@PEBD3@Z))​</div>
<div>>>> referenced by C:\Users\Osman\AppData\Local\Temp\currency_converter-264ae1.o:("void __cdecl handle_request<struct boost::beast::http::basic_string_body<char, struct std::char_traits<char>, class std::allocator<char>>, class std::allocator<char>, struct
 server_session::send_lambda &>(class boost::basic_string_view<char, struct std::char_traits<char>>, struct boost::beast::http::message<1, struct boost::beast::http::basic_string_body<char, struct std::char_traits<char>, class std::allocator<char>>, class boost::beast::http::basic_fields<class
 std::allocator<char>>> &&, struct server_session::send_lambda &, char const *, char const *)" (??$handle_request@U?$basic_string_body@DU?$char_traits@D@std@@V?$allocator@D@2@@http@beast@boost@@V?$allocator@D@std@@AEAUsend_lambda@server_session@@@@YAXV?$basic_string_view@DU?$char_traits@D@std@@@boost@@$$QEAU?$message@$00U?$basic_string_body@DU?$char_traits@D@std@@V?$allocator@D@2@@http@beast@boost@@V?$basic_fields@V?$allocator@D@std@@@234@@http@beast@1@AEAUsend_lambda@server_session@@PEBD3@Z))​</div>
<div>​</div>
<div>lld-link: error: undefined symbol: "public: __cdecl jinja2::Template::~Template(void)" (??1Template@jinja2@@QEAA@XZ)​</div>
<div>>>> referenced by C:\Users\Osman\AppData\Local\Temp\currency_converter-264ae1.o:("void __cdecl handle_request<struct boost::beast::http::basic_string_body<char, struct std::char_traits<char>, class std::allocator<char>>, class std::allocator<char>, struct
 server_session::send_lambda &>(class boost::basic_string_view<char, struct std::char_traits<char>>, struct boost::beast::http::message<1, struct boost::beast::http::basic_string_body<char, struct std::char_traits<char>, class std::allocator<char>>, class boost::beast::http::basic_fields<class
 std::allocator<char>>> &&, struct server_session::send_lambda &, char const *, char const *)" (??$handle_request@U?$basic_string_body@DU?$char_traits@D@std@@V?$allocator@D@2@@http@beast@boost@@V?$allocator@D@std@@AEAUsend_lambda@server_session@@@@YAXV?$basic_string_view@DU?$char_traits@D@std@@@boost@@$$QEAU?$message@$00U?$basic_string_body@DU?$char_traits@D@std@@V?$allocator@D@2@@http@beast@boost@@V?$basic_fields@V?$allocator@D@std@@@234@@http@beast@1@AEAUsend_lambda@server_session@@PEBD3@Z))​</div>
<div>>>> referenced by C:\Users\Osman\AppData\Local\Temp\currency_converter-264ae1.o:("int `void __cdecl handle_request<struct boost::beast::http::basic_string_body<char, struct std::char_traits<char>, class std::allocator<char>>, class std::allocator<char>,
 struct server_session::send_lambda &>(class boost::basic_string_view<char, struct std::char_traits<char>>, struct basic_string_view<char, struct std::char_traits<char>>::beast::http::message<1, struct boost::beast::http::basic_string_body<char, struct std::char_traits<char>,
 class std::allocator<char>>, class boost::beast::http::basic_fields<class std::allocator<char>>> &&, struct server_session::send_lambda &, char const *, char const *)'::`1'::dtor$114" (?dtor$114@?0???$handle_request@U?$basic_string_body@DU?$char_traits@D@std@@V?$allocator@D@2@@http@beast@boost@@V?$allocator@D@std@@AEAUsend_lambda@server_session@@@@YAXV?$basic_string_view@DU?$char_traits@D@std@@@boost@@$$QEAU?$message@$00U?$basic_string_body@DU?$char_traits@D@std@@V?$allocator@D@2@@http@beast@boost@@V?$basic_fields@V?$allocator@D@std@@@234@@http@beast@1@AEAUsend_lambda@server_session@@PEBD3@Z@4HA))​</div>
<div>​</div>
<div>lld-link: warning: C:\Users\Osman\AppData\Local\Temp\currency_converter-264ae1.o: locally defined symbol imported: _CxxThrowException (defined in libvcruntime.lib(throw.obj)) [LNK4217]​</div>
<div>lld-link: error: undefined symbol: "class boost::system::error_category const & __cdecl boost::system::detail::system_category_ncx(void)" (?system_category_ncx@detail@system@boost@@YAAEBVerror_category@23@XZ)​</div>
<div>>>> referenced by C:\Users\Osman\AppData\Local\Temp\currency_converter-264ae1.o:("class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ))​</div>
<div>​</div>
<div>lld-link: warning: C:\Users\Osman\AppData\Local\Temp\currency_converter-264ae1.o: locally defined symbol imported: __RTDynamicCast (defined in libvcruntime.lib(rtti.obj)) [LNK4217]​</div>
<div>lld-link: error: undefined symbol: "class boost::system::error_category const & __cdecl boost::system::detail::generic_category_ncx(void)" (?generic_category_ncx@detail@system@boost@@YAAEBVerror_category@23@XZ)​</div>
<div>>>> referenced by C:\Users\Osman\AppData\Local\Temp\currency_converter-264ae1.o:("class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ))​</div>
<span>clang++: error: linker command failed with exit code 1 (use -v to see invocation)</span></div>
<div style="color:rgb(0,0,0); font-family:Calibri,Helvetica,sans-serif; font-size:12pt">
"</div>
<div class="x_LPBorder710428" id="LPBorder_GTaHR0cHM6Ly9naXRodWIuY29tL0RyYWdvbk9zbWFuL2N1cnJlbmN5X2NvbnZlcnRlcg.." style="width:100%; margin-top:16px; margin-bottom:16px; min-width:424px; max-width:800px">
<table id="LPContainer710428" role="presentation" style="padding:12px 36px 12px 12px; border-radius:2px; border:1px solid rgb(200,200,200); width:100%">
<tbody>
<tr valign="top" style="border-spacing:0px">
<td>
<div id="LPImageContainer710428" style="height:160px; overflow:hidden; margin-right:12px">
<a id="LPImageAnchor710428" href="https://github.com/DragonOsman/currency_converter" target="_blank"><img width="160" height="160" id="LPThumbnailImageId710428" alt="" style="display:block" src="https://avatars0.githubusercontent.com/u/18173932?s=400&v=4"></a></div>
</td>
<td style="width:100%">
<div id="LPTitle710428" style="font-family:"wf_segoe-ui_light","Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size:21px; font-weight:300; margin-right:8px; margin-bottom:12px">
<a id="LPUrlAnchor710428" href="https://github.com/DragonOsman/currency_converter" target="_blank" style="text-decoration:none">GitHub - DragonOsman/currency_converter: Application for Computer Science course</a></div>
<div id="LPDescription710428" style="color:rgb(102,102,102); overflow:hidden; font-family:"wf_segoe-ui_normal","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size:14px; margin-right:8px; margin-bottom:12px; max-height:100px">
Google Maps + Currency Converter Web Application. Application for Computer Science course. This is a currency converter web application with the frontend and a backend.</div>
<div id="LPMetadata710428" style="color:rgb(166,166,166); font-family:"wf_segoe-ui_normal","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif; font-size:14px; font-weight:400">
github.com</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<div id="x_appendonsend"><br>
</div>
<div>
<div dir="ltr">
<div>
<div class="x_x_gmail_quote">
<blockquote class="x_x_gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
</blockquote>
</div>
</div>
</div>
</div>
</div>
</body>
</html>