2013-10-21 66 views
1

我想包括矩陣庫,我的項目,但是當我包括matrix.h和matrix.hpp這裏有錯誤:initializer_list:沒有這樣的文件或目錄

initializer_list: No such file or directory 
error: tuple: No such file or directory 
error: type_traits: No such file or directory 

#include <initializer_list> 
#include <algorithm> 
#include <tuple> 
#include <memory> 
#include <iostream> 
#include <string> 
#include <type_traits> 

讓它變得如此。幫助,PLZ。我認爲這裏有一些標準問題

gcc 4.8;的Mac OS

+4

您的編譯器還不支持C++ 11庫功能 - 'initializer_list'。更新。 – jrok

+0

它用這個編譯另一個程序,包括 – user2897535

+0

然後檢查有關如何啓用C++ 11的文檔。它是哪個編譯器? – jrok

回答

3

由於您使用GCC-4.8,你的問題是,你沒有C++ 11功能嘗試添加-std=c++11到編輯行。

我看到你正在使用的CMake,然後this post可以幫助你(你可以通過-std=c++11-std=gnu++11更換-std=c++0x)。

例子:

# It appends the -std=c++11 option to CMAKE_CXX_FLAGS 
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") # for gcc >= 4.7 

# Or 
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") # for gcc < 4.7 
+0

我有 'code'SET(CMAKE_CXX_FLAGS「$ {CMAKE_CXX_FLAGS} -O2 -Wno 'unused-value「)'code' 當我將其更改爲 'code'SET(CMAKE_CXX_FLAGS」-std = C++ 11 $ {CMAKE_CXX_FLAGS} -O2 -Wno-unused-value「)'code' it answer 'code'無法識別的命令行選項「-std = C++ 11」'code' – user2897535

+0

@ user2897535而你仍然有同樣的錯誤? –

+0

@ user2897535:在舊版本的GCC上,您可能需要'-std = C++ 0x'(而不是'C++ 11');但我會認爲4.8會理解'C++ 11'。 –

相關問題