2014-02-28 69 views
3

我試圖從這個源代碼編譯京都櫃,在OSX 10.9:編譯kyotocabinet - 76年2月1日在OSX 10.9

http://fallabs.com/kyotocabinet/pkg/kyotocabinet-1.2.76.tar.gz

但它的失敗與此:

In file included from kcutil.cc:16: 
In file included from ./kcutil.h:19: 
./kccommon.h:92:10: fatal error: 'tr1/unordered_map' file not found 
#include <tr1/unordered_map> 
     ^
2 warnings and 1 error generated. 
make: *** [kcutil.o] Error 1 

我的理解是C++庫在OSX 10.9中發生了變化,但我不確定如何導航到解決方案。任何幫助,將不勝感激。

回答

8

我從同事那裏得到了一些幫助。你需要修復的包括不使用TR1,看來小牛隊沒有TR1規範了

kccommon.h,找到這段代碼:

#if __cplusplus > 199711L || defined(__GXX_EXPERIMENTAL_CXX0X__) || defined(_MSC_VER) 

#include <unordered_map> 
#include <unordered_set> 

#else 

#include <tr1/unordered_map> 
#include <tr1/unordered_set> 

namespace std { 
using tr1::hash; 
using tr1::unordered_map; 
using tr1::unordered_set; 
} 

#endif 

取出,如果else語句讓您留下:

#include <unordered_map> 
#include <unordered_set> 

再次嘗試編譯,它爲我工作。

+0

謝謝@robertjd這個工作對我來說也是! –

+0

10.10.2(14C109) –

相關問題