4

LLVMをビルドしてlibc++に対してリンクしようとしていますが、動作させることができません。最新バージョン(LLVM 3.2)をダウンロードしました。

$ CXXFLAGS=-stdlib=libc++ LDFLAGS=-stdlib=libc++ ../llvm-3.2.src/configure
$ make
llvm[0]: Constructing LLVMBuild project information.
llvm[1]: Compiling APFloat.cpp for Release+Asserts build
llvm[1]: Compiling APInt.cpp for Release+Asserts build
(etcetera)
llvm[1]: Building Release+Asserts Archive Library libLLVMTableGen.a
llvm[2]: Compiling FileCheck.cpp for Release+Asserts build
llvm[2]: Linking Release+Asserts executable FileCheck (without symbols)
Undefined symbols for architecture x86_64:
  "std::string::find_last_not_of(char, unsigned long) const", referenced from:
      llvm::SMDiagnostic::print(char const*, llvm::raw_ostream&, bool) const in libLLVMSupport.a(SourceMgr.o)
  "std::string::copy(char*, unsigned long, unsigned long) const", referenced from:
      llvm::sys::Path::makeUnique(bool, std::string*) in libLLVMSupport.a(Path.o)
  "std::string::find(char const*, unsigned long, unsigned long) const", referenced from:
      llvm::sys::getDefaultTargetTriple() in libLLVMSupport.a(Host.o)
  "std::string::find(char, unsigned long) const", referenced from:
      llvm::sys::Program::FindProgramByName(std::string const&) in libLLVMSupport.a(Program.o)
(followed by a bunch of other related linker errors)

Gistの完全な出力。

LLVMは、libstdc ++では正常にコンパイルおよびリンクされますが、libc++ではリンクされません。なぜlibc++とリンクしないのかわかりません。他のプログラムはうまくリンクします。私はOSXMountain Lionを実行していて、libc++はにあり/usr/lib/libc++.1.dylibます。使用されるコンパイラは、Apple clangバージョン4.0(tags / Apple / clang-421.0.60)(LLVM 3.1svnに基づく)です。

4

1 に答える 1

7

私を信じてください、私はこの分野の専門家ではありません。しかし、これを試してください:

../llvm/configure --enable-libcpp

そして一般的に私は見つけました:

../llvm/configure --help

とても役に立ちました。

于 2013-03-16T01:34:21.240 に答える