Linking third-party libraries using lld?

I still need answer to my question about how to make sure that libcxx and libcxxabi are also built after enabling them, but I have another problem right now. I want to know how to link third-party libraries into my code using the lld linker. I have this code: https://github.com/DragonOsman/currency_converter



|
GitHub - DragonOsman/currency_converter: 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
|

  • | - |

and I’m trying to compile it using clang++ with the following command:
"
clang++ -std=c++17 -fuse-ld=lld -Wall -pedantic -m64 -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 -D_MBCS -IC:/boost_1_68_0 -IC:/Jinja2Cpp/install_x64/include -IC:/json/single_include -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
"

But I have still have linker errors from Jinja2Cpp and Boost.System. Jinja2Cpp’s source code and documentation is on GitHub here: https://github.com/flexferrum/Jinja2Cpp/ .

Also, there’s one more thing related to that: how do I fix warnings like this one? “lld-link: warning: C:\Users\Osman\AppData\Local\Temp\currency_converter-7276bd.o: locally defined symbol imported: __RTDynamicCast (defined in libvcruntime.lib(rtti.obj)) [LNK4217]”

The source code of the relevant projects isn’t quite as relevant as the error messages from lld itself. Unless the errors are somehow specific to lld, it’s less likely to get the best help on this list.

Common errors are unresolved symbols, is that the error you’re getting?

“I want to know how to link third-party libraries into my code using the lld linker” – there is not much to it. lld works mostly just like ld, and if clang is your driver anyways it should be nigh identical.

There’s a subtle difference between the BFD ld and lld regarding how libraries are implicitly grouped. But I’d say it’s not a likely first place to look. Can you successfully link using ld/gold? Or I suppose in your case the known-good baseline might be with LINK.EXE?