なぜこの作業を行います。入手方法-std = C++ 11 w/libstdC++?
としてコンパイル#include <regex>
int main() {
return 0;
}
:
clang++ -std=c++11 -stdlib=libstdc++ temp.cpp
temp.cpp:1:10: fatal error: 'regex' file not found
#include <regex>
^
1 error generated.
clang++ --version
Apple LLVM version 7.0.0 (clang-700.1.76)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
私はstdlib
はlibc++
ことを可能にする場合、それがコンパイルされます。正規表現はc++11
ですが、clang
はそれ自体が-std=c++11 -stdlib=libstdc++
と問題はありません。少なくとも私のマシンでは、/usr/include/regex.h
で使用できるものがあるようですが、これは標準ではありません。正規表現以外のものもあります(例:std :: to_string)。
私はstd::string
なくstd::__1::basic_string
として遵守されて(私はソースを持っていない)サードパーティのライブラリにリンクしたいと思いますので、これは来ている理由は、私のコードはstd::regex
とstd::to_string
を使用しています。私はブーストへの依存を導入したいとは思っていません。
libstC++はC++ 11に準拠していない可能性がありますか? –
私はOSX 10.10.5なので、Appleは仕事に取り組んでいると思います。 – amos
[This(http://stackoverflow.com/q/15853893/3425536) – emlai