Hi, 

I’m compiling a program using gcc 6 and I try to link with llvm 5.0 libraries.
Below is the detail of the installed packages.
gcc 6.4.0-1
gcc-libs 6.4.0-1
mingw-w64-x86_64-llvm 5.0.0-3

I’m not using the LLVM.dll lib because I get other link errors, related to my 
API call e.g. undefined reference to 
llvm::ConstantInt::get(llvm::Type*, unsigned long, bool) 
llvm::ConstantInt::get(llvm::IntegerType*, unsigned long, bool) 
llvm::ArrayType::get(llvm::Type*, unsigned long) 
llvm::ConstantInt::get(llvm::IntegerType*, unsigned long, bool) 
llvm::SmallVectorBase::grow_pod(void*, unsigned long, unsigned long) 
llvm::WriteBitcodeToFile(llvm::Module const*, llvm::raw_ostream&, bool, 
llvm::ModuleSummaryIndex const*, bool, std::array<unsigned int, 5ul>*) 
llvm::createPrintModulePass(llvm::raw_ostream&, std::string const&, bool) 
llvm::sys::getDefaultTargetTriple() 
llvm::WriteBitcodeToFile(llvm::Module const*, llvm::raw_ostream&, bool, 
llvm::ModuleSummaryIndex const*, bool, std::array<unsigned int, 5ul>*) 
llvm::sys::getDefaultTargetTriple() 
llvm::MemoryBuffer::getFileOrSTDIN(llvm::Twine const&, long, bool) 
llvm::raw_ostream::write(char const*, unsigned long) 
etc...

thus I’m using the --ignore-libllvm option with llvm-config and I link against 
the following libraries:
-lLLVMLTO -lLLVMPasses -lLLVMObjCARCOpts -lLLVMSymbolize -lLLVMDebugInfoPDB 
-lLLVMDebugInfoDWARF -lLLVMTableGen -lLLVMDlltoolDriver -lLLVMLineEditor 
-lLLVMOrcJIT -lLLVMCoverage -lLLVMMIRParser -lLLVMARMDisassembler 
-lLLVMARMCodeGen -lLLVMARMAsmParser -lLLVMARMDesc -lLLVMARMInfo 
-lLLVMARMAsmPrinter -lLLVMObjectYAML -lLLVMLibDriver -lLLVMOption 
-lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMGlobalISel 
-lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMDebugInfoCodeView -lLLVMDebugInfoMSF 
-lLLVMX86Desc -lLLVMMCDisassembler -lLLVMX86Info -lLLVMX86AsmPrinter 
-lLLVMX86Utils -lLLVMMCJIT -lLLVMInterpreter -lLLVMExecutionEngine 
-lLLVMRuntimeDyld -lLLVMCodeGen -lLLVMTarget -lLLVMCoroutines -lLLVMipo 
-lLLVMInstrumentation -lLLVMVectorize -lLLVMScalarOpts -lLLVMLinker 
-lLLVMIRReader -lLLVMAsmParser -lLLVMInstCombine -lLLVMTransformUtils 
-lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMObject -lLLVMMCParser 
-lLLVMMC -lLLVMBitReader -lLLVMCore -lLLVMBinaryFormat -lLLVMSupport 
-lLLVMDemangle

I get a lot of errors (see an excerpt below) at link time, almost all of them 
are related to undefined references to std::__cxx11:: symbols.
Any idea about what’s wrong ?
—
Dom



C:\msys64\mingw64/lib/libLLVMSupport.a(Program.cpp.obj):(.text+0x4542) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned 
long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(Program.cpp.obj):(.text+0x4681) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long long, 
unsigned long long, char const*, unsigned long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(Program.cpp.obj):(.text+0x46f9) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned 
long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(Program.cpp.obj):(.text+0x48f0) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned 
long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(Program.cpp.obj):(.text+0x4a2f) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long long, 
unsigned long long, char const*, unsigned long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(Program.cpp.obj):(.text+0x4aa7) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned 
long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(Program.cpp.obj):(.text+0x4b0e) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned 
long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(Program.cpp.obj):(.text+0x4e51) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long long, 
unsigned long long, char const*, unsigned long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(Program.cpp.obj):(.text+0x4ec9) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned 
long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(Program.cpp.obj):(.text+0x4f31) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned 
long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(Program.cpp.obj):(.text+0x52ba) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned 
long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(Program.cpp.obj):(.text+0x54d2) : encore 
plus de références indéfinies suivent vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned 
long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(Program.cpp.obj):(.text+0x569e) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long long, 
unsigned long long, char const*, unsigned long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(Program.cpp.obj):(.text+0x57b0) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned 
long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(Program.cpp.obj):(.text+0x5893) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned 
long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(TargetRegistry.cpp.obj):(.text+0x191) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long long&, 
unsigned long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(TargetRegistry.cpp.obj):(.text+0x229) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned 
long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(TargetRegistry.cpp.obj):(.text+0x29b) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned 
long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(TargetRegistry.cpp.obj):(.text+0x4dd) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long long, 
unsigned long long, char const*, unsigned long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(TargetRegistry.cpp.obj):(.text+0x514) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long long, 
unsigned long long, char const*, unsigned long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(TargetRegistry.cpp.obj):(.text+0x67a) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned 
long long) »
C:\msys64\mingw64/lib/libLLVMSupport.a(TargetRegistry.cpp.obj):(.text+0x858) : 
référence indéfinie vers « std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned 
long long) »


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Msys2-users mailing list
Msys2-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/msys2-users

Reply via email to