0

このファイルをコンパイルすると

#include <vector>

int main(int argc, char* argv[])
{
  std::vector<int> IntVector;
}

Xcode に同梱されているバージョンの clang を使用すると、clang に次のように llvm の libc++ を使用するように指示できます。

$ clang -std=c++11 -stdlib=libc++ t.cpp -lc++ -o t

ただし、clang の自己ビルド バージョンを使用する場合、clang は libc++ を見つけることができないため、このコマンドは機能しません。

$ /my/clang -std=gnu++11 -stdlib=libc++ t.cpp -lc++ -o t
t.cpp:1:10: fatal error: 'vector' file not found
#include <vector>
         ^
1 error generated.

ソースから libc++ をダウンロード、ビルド、およびインストールできることを知っています。ただし、Xcode に同梱されているバージョンを使用したいと思います。

自分のバージョンの clang を使用しているときに、Xcode に同梱されている libc++ バージョンを使用するにはどうすればよいですか?

4

1 に答える 1

2

最初に libc++ の場所を特定します。これは Xcode アプリ自体の中に配置されます。見つからない場合は、Xcode を使用して HelloWorld を前処理し、std ヘッダーへのパスを調べます。

次に、コマンド ラインinclude-I. -nostdinc++他の std ヘッダーが検索されないことを保証するために使用することもできます。

$ /my/clang -std=gnu++11 -stdlib=libc++ t.cpp -nostdinc++ -I<path-to-libcxx>/include
于 2013-09-14T22:17:35.460 に答える