2014-02-28 48 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) –

相关问题