[llvm-dev] Linking third-party libraries using lld? (original) (raw)

Brian Cain via llvm-dev llvm-dev at lists.llvm.org
Sun Dec 2 19:33:04 PST 2018


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?

On Sun, Dec 2, 2018, 1:07 PM Osman Zakir via llvm-dev < llvm-dev at lists.llvm.org wrote:

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\currencyconverter-7276bd.o: locally _defined symbol imported: RTDynamicCast (defined in libvcruntime.lib(rtti.obj)) [LNK4217]"

------------------------------ From: Osman Zakir <osmanzakir90 at hotmail.com> Sent: Sunday, December 2, 2018 11:51 PM To: llvm-dev at lists.llvm.org Subject: 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/currencyconverter <https://github.com/DragonOsman/currencyconverter> GitHub - DragonOsman/currencyconverter: Application for Computer Science course <https://github.com/DragonOsman/currencyconverter> 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 -DSILENCECXX17ADAPTORTYPEDEFSDEPRECATIONWARNING -DvariantCONFIGSELECTVARIANT=variantVARIANTNONSTD -DSILENCECXX17ALLOCATORVOIDDEPRECATIONWARNING -DCRTSECURENOWARNINGS -DWINSOCKDEPRECATEDNOWARNINGS -DWIN32 -DWIN32WINDOWS -DNDEBUG -DMBCS -IC:/boost1680 -IC:/Jinja2Cpp/installx64/include -IC:/json/singleinclude -LC:/boost1680/stage/lib/libboostsystem-vc141-mt-x64-168.lib -LC:/Jinja2Cpp/installx64/lib/static/jinja2cpp.lib currencyconverter.cpp -o currencyconverter.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/ . <https://github.com/flexferrum/Jinja2Cpp/> GitHub - flexferrum/Jinja2Cpp: Jinja2 C++ (and for C++) almost full-conformance template engine implementation <https://github.com/flexferrum/Jinja2Cpp/> Join GitHub today. GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together. github.com


LLVM Developers mailing list llvm-dev at lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181202/ce90eecd/attachment.html>



More information about the llvm-dev mailing list