如何指定自定义 libc++

unr*_*nal 6 c++ clang libc++

我已经构建了 libc++ 并且想在编译我的程序时使用它?所以我有类似的东西

clang++ -stdlib=~/libc++/libc++.so main.cpp
Run Code Online (Sandbox Code Playgroud)

但这不起作用。构建应用程序时如何使用我自定义构建的 libc++?

Clo*_*onk 6

此信息来自有关 libcxx 的 llvm 文档

如果你想在 clang 中使用自定义 libc++,你必须指定这样的参数:

$ clang++ -std=c++11 -stdlib=libc++ -nostdinc++ -I<path_to_libcxx>/include/c++/v1 -L<path_to_libcxx>/lib -Wl,-rpath,<path_to_libcxx>/lib main.cpp ${end_of_compile_line...}

或者,您可以将库的路径放入 LD_LIBRARY_PATH 中(假设您在 Linux 下):

export LD_LIBRARY_PATH=<libcxx-install-prefix>/lib:$LD_LIBRARY_PATH

并使用以下选项进行编译:

$ clang++ -stdlib=libc++ -nostdinc++ -I<path_to_libcxx>/include/c++/v1 -L<path_to_libcxx>/lib main.cpp -o ${end_of_compile_line...}