mercredi 24 février 2016

Apple Clang; using C++11 with libstdc++

I have an issue when compiling a simple Hello file with an empty function taking initializer_list argument when using both -stdlib=libstdc++ and -std=c++11

If I use only -std=c++11 (which means compiling with libc++)

then the file compiles and prints Hello!

If I comment function_test and I use both -std=c++11 and -stdlib=libstdc++

then the file compiles and prints Hello!

If I keep the function function_test and I use both -std=c++11 and -stdlib=libstdc++

then I get the following error:

$ 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.

Here is my file

#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;
}

Here is my apple clang version

Configured with: --prefix=/Applications/http://ift.tt/1d5DwEL
--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

Aucun commentaire:

Enregistrer un commentaire