llvm-5.0を使用してllvm-6.0.0をビルドすると、../../lib/libLLVMSupport.aにシンボルを追加できません。

llvm-5.0を使用してllvm-6.0.0をビルドすると、../../lib/libLLVMSupport.aにシンボルを追加できません。

私のシステムと使用しているコンパイラに関する情報は次のとおりです。

Linux version 4.9.0-5-amd64 ([email protected]) (gcc version 
6.3.0 20170516 (Debian 6.3.0-1
8) ) #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04)

clang version 5.0.1-svn325091-1~exp1 (branches/release_50)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

libcxxを使用してllvm-6.0.0を構築する際に問題があります。私はそれらをすべてからダウンロードしました。llvmダウンロードページそこにソースコードを入れてください。

llvm-6.0
  build
  llvm-6.0.0
    ...(other stuff)
    tools
      clang
    projects
      libcxx 
      libcxxabi

これは私が使用するコマンドです:

#!/bin/bash
#References: https://libcxx.llvm.org/docs/BuildingLibcxx.html
cd build
#The option for llvm starts from line 5, for libcxx starts from line 15
cmake -DCMAKE_BUILD_TYPE=Release                  \
      -DCMAKE_C_COMPILER=clang-5.0                \
      -DCMAKE_CXX_COMPILER=clang++-5.0            \
      -DCMAKE_INSTALL_PREFIX=/usr/local/          \
      -DLLVM_INSTALL_BINUTILS_SYMLINKS=True       \
      -DLLVM_INSTALL_CCTOOLS_SYMLINKS=True        \
      -DLLVM_ENABLE_CXX1Y=True                    \
      -DLLVM_ENABLE_EH=True                       \
      -DLLVM_ENABLE_RTTI=True                     \
      -DLLVM_ENABLE_LTO=Thin                      \
      -DLIBCXX_ENABLE_ASSERTIONS=False            \
      -DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=True  \
      -DLIBCXX_LIBDIR_SUFFIX=/usr/local/lib       \
      -DLIBCXX_BENCHMARK_NATIVE_STDLIB="libstdc++"\
      -G Unix Makefiles                           \
      ..
cmake --build .

cmakeは以下を提供します:

[  0%] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.o
[  0%] Linking CXX static library ../libLLVMDemangle.a
[  0%] Built target LLVMDemangle
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AMDGPUMetadata.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APFloat.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APInt.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APSInt.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMBuildAttrs.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMAttributeParser.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ARMWinEH.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Allocator.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamError.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamReader.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamRef.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BinaryStreamWriter.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BlockFrequency.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/BranchProbability.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CachePruning.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/circular_raw_ostream.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Chrono.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/COM.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CodeGenCoverage.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CommandLine.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Compression.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ConvertUTF.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ConvertUTFWrapper.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CrashRecoveryContext.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DataExtractor.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Debug.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DebugCounter.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DeltaAlgorithm.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DAGDeltaAlgorithm.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Error.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ErrorHandling.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FileUtilities.cpp.o
[  0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FileOutputBuffer.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FoldingSet.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FormattedStream.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/FormatVariadic.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/GlobPattern.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/GraphWriter.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Hashing.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/IntEqClasses.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/IntervalMap.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/JamCRC.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/KnownBits.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/LEB128.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/LineIterator.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Locale.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/LockFileManager.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/LowLevelType.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ManagedStatic.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MathExtras.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MemoryBuffer.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/MD5.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/NativeFormatting.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Options.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Parallel.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/PrettyStackTrace.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RandomNumberGenerator.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Regex.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ScaledNumber.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ScopedPrinter.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SHA1.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SmallPtrSet.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SmallVector.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SourceMgr.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SpecialCaseList.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Statistic.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringExtras.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringMap.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringPool.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringSaver.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/StringRef.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/SystemUtils.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TarWriter.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TargetParser.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ThreadPool.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Timer.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ToolOutputFile.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TrigramIndex.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Triple.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Twine.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Unicode.cpp.o
[  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/YAMLParser.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/YAMLTraits.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/raw_os_ostream.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/raw_ostream.cpp.o
[  2%] Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regcomp.c.o
[  2%] Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regerror.c.o
[  2%] Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regexec.c.o
[  2%] Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regfree.c.o
[  2%] Building C object lib/Support/CMakeFiles/LLVMSupport.dir/regstrlcpy.c.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/xxhash.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Atomic.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/DynamicLibrary.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Errno.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Host.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Memory.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Mutex.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Path.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Process.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Program.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/RWMutex.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/TargetRegistry.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/ThreadLocal.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Threading.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Valgrind.cpp.o
[  2%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Watchdog.cpp.o
[  2%] Linking CXX static library ../libLLVMSupport.a
[  2%] Built target LLVMSupport
[  2%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Error.cpp.o
[  2%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Main.cpp.o
[  2%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Record.cpp.o
[  2%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/SetTheory.cpp.o
[  2%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/StringMatcher.cpp.o
[  2%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TableGenBackend.cpp.o
[  2%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TGLexer.cpp.o
[  2%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/TGParser.cpp.o
[  2%] Linking CXX static library ../libLLVMTableGen.a
[  2%] Built target LLVMTableGen
[  2%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/AsmMatcherEmitter.cpp.o
[  2%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/AsmWriterEmitter.cpp.o
[  2%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/AsmWriterInst.cpp.o
[  2%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/Attributes.cpp.o
[  2%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CallingConvEmitter.cpp.o
[  2%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CodeEmitterGen.cpp.o
[  2%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CodeGenDAGPatterns.cpp.o
[  2%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CodeGenHwModes.cpp.o
[  2%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CodeGenInstruction.cpp.o
[  2%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CodeGenMapTable.cpp.o
[  2%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CodeGenRegisters.cpp.o
[  2%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CodeGenSchedule.cpp.o
[  2%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CodeGenTarget.cpp.o
[  2%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/DAGISelEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherGen.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcherOpt.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/DAGISelMatcher.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/DisassemblerEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/FastISelEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/FixedLenDecoderEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/GlobalISelEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/InfoByHwMode.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/InstrInfoEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/InstrDocsEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/IntrinsicEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/OptParserEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/PseudoLoweringEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/RegisterBankEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/RegisterInfoEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/SDNodeProperties.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/SearchableTableEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/SubtargetEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/SubtargetFeatureInfo.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/TableGen.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/Types.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/X86DisassemblerTables.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/X86EVEX2VEXTablesEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/X86FoldTablesEmitter.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/X86ModRMFilters.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/X86RecognizableInstr.cpp.o
[  4%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/CTagsEmitter.cpp.o
[  4%] Built target obj.llvm-tblgen
[  4%] Linking CXX executable ../../bin/llvm-tblgen
../../lib/libLLVMSupport.a: error adding symbols: Archive has no index; run ranlib to add one
clang: error: linker command failed with exit code 1 (use -v to see invocation)
utils/TableGen/CMakeFiles/llvm-tblgen.dir/build.make:158: recipe for target 'bin/llvm-tblgen' failed
make[2]: *** [bin/llvm-tblgen] Error 1
CMakeFiles/Makefile2:906: recipe for target 'utils/TableGen/CMakeFiles/llvm-tblgen.dir/all' failed
make[1]: *** [utils/TableGen/CMakeFiles/llvm-tblgen.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

私はこの問題を次のように解決しようとします。

  1. cmake --build . --target cleanビルドされたファイルを削除して再実行するためにcmake --build .使用されます。

  2. 上記の指示に従ってディレクトリをlibに変更しますranlib libLLVMSupport.a

しかし、これらのどれも機能しません。cmake --build .再実行すると、次の結果が表示されます。

[  0%] Built target LLVMDemangle
[  2%] Built target LLVMSupport
[  2%] Built target LLVMTableGen
[  4%] Built target obj.llvm-tblgen
[  4%] Linking CXX executable ../../bin/llvm-tblgen
../../lib/libLLVMSupport.a: error adding symbols: Archive has no index; 
run ranlib to add one
clang: error: linker command failed with exit code 1 (use -v to see 
invocation)
utils/TableGen/CMakeFiles/llvm-tblgen.dir/build.make:158: recipe for 
target 'bin/llvm-tblgen' failed
make[2]: *** [bin/llvm-tblgen] Error 1
CMakeFiles/Makefile2:906: recipe for target 
'utils/TableGen/CMakeFiles/llvm-tblgen.dir/all' failed
make[1]: *** [utils/TableGen/CMakeFiles/llvm-tblgen.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

方法2でlib / libLLVMSupport.aのタイムスタンプを確認したところ、変更されていないことがわかりました。つまり、.aによって再生成されなかったことを意味しますcmake --build .

この問題をどのように解決しますか?

答え1

アーカイブを別々のファイルとしてアーカイブしたらどうでしょうか?次に、アプリケーションを必要なすべてのアーカイブに接続します。

答え2

ついにこのエラーの実際の原因が見つかりました。

cmakeはgnu goldリンカを使用し、libLLVMSupport.aアーカイブはLLVM IRコードで構成されているため、問題が発生するのは当然です。

ld.lld-5.0に切り替えたところ、すべてのエラーが消えました。

関連情報