Sto usando travis.ci per fare build test automatici dei miei repository git.clang 3.4 Supporto C++ 14
Per Linux usano: Ubuntu 12.04
Con clangore 3.4
Secondo il clang page tutte le caratteristiche del linguaggio C++ 14 sono supportati da Clang 3.4 (fino a quando si utilizza il flag -std = C++ 1A) .
Fin qui tutto bene:
Ho anche bisogno di utilizzare std::index_sequence<t0,...,tn>
che è funzione di libreria N3658 non è una caratteristica del linguaggio. Ma non riesco a trovare alcuna documentazione specifica sull'aggiornamento della libreria standard C++ per verificare che questa funzionalità sia supportata (non è supportata immediatamente).
TestCode:
#include <utility>
int main() {
std::index_sequence<1,2,3,4> seq;
}
TestBuild:
> clang++ -std=c++1y pl.cpp
pl.cpp:3:10: error: no member named 'index_sequence' in namespace 'std'
std::index_sequence<1,2,3,4> seq;
~~~~~^
pl.cpp:3:37: error: use of undeclared identifier 'seq'
std::index_sequence<1,2,3,4> seq;
^
2 errors generated.
Aggiornamento:
Sulla base del suggerimento di seguito ho cercato di utilizzare ++ libc.
Abbastanza sicuro di aver fatto qualcosa di sbagliato, ma non ho mai provato a utilizzare una libreria standard alternativa, quindi non sono sicuro di cosa stia succedendo qui. Scoverò stasera. Ma se hai un suggerimento, per favore lascia un commento.
> sudo apt-get install -qq libc++1 libc6 libc++-dev
> clang++ -stdlib=libc++ pl.cpp
pl.cpp:1:10: fatal error: 'utility' file not found
#include <utility>
^
1 error generated.
Che cosa succede se si utilizza libC++ invece di libstdC++? '-stdlib = libC++' – Praetorian