Iss*_* T. 3 c++ llvm clang libstdc++ c++11
initializer_list在使用-stdlib=libstdc++和时编译一个带有空函数的简单Hello文件时,我遇到了一个问题-std=c++11
如果我只使用-std=c++11(这意味着用libc ++编译)
然后文件编译并打印Hello!
如果我评论function_test,我同时使用-std=c++11和-stdlib=libstdc++
然后文件编译并打印Hello!
如果我保留这个功能function_test,我会同时使用-std=c++11和-stdlib=libstdc++
然后我收到以下错误:
$ g++ -stdlib=libstdc++ -std=c++11 -o test test.cpp
test.cpp:1:10: fatal error: 'initializer_list' file not found
#include <initializer_list>
^
1 error generated.
Run Code Online (Sandbox Code Playgroud)
这是我的档案
#include <initializer_list>
#include <iostream>
using namespace std;
void function_test(initializer_list<int> something){}
int main(int argc, char * argv[])
{
cout << "Hello!" << endl;
function_test({0});
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是我的苹果铿锵版
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr
--with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin15.3.0
Thread model: posix
Run Code Online (Sandbox Code Playgroud)
--with-gxx-include-dir=/usr/include/c++/4.2.1
^^^^^^^
Run Code Online (Sandbox Code Playgroud)
注意"4.2".你的libstdc ++的方式来为老C++ 11.将其升级到某些5.x版本以获得完整的C++ 11支持.
| 归档时间: |
|
| 查看次数: |
2331 次 |
| 最近记录: |