尝试安装库时找不到boost .h文件

时间:2015-07-14 13:22:30

标签: c++ macos boost terminal

我试图在OSX中安装C ++库(HElib),根据它https://github.com/shaih/HElib/blob/master/INSTALL.txt。 当我使用make命令时,它会说fatal error: 'tr1/memory' file not found

g++ -g -O2  -c NumbTh.cpp
In file included from NumbTh.cpp:16:
./NumbTh.h:71:10: fatal error: 'tr1/memory' file not found

我安装了boost库(使用自制程序),它位于/usr/local/include并且它包含该确切文件,但每次都会出现该错误。 我该怎么办?

1 个答案:

答案 0 :(得分:1)

如果查看line 71,您会看到它正在对__cplusplus进行版本测试。由于版本测试失败,因此决定您使用旧编译器并且需要包含<tr1/memory>而不是<memory>才能获得某些标准功能。 (很可能是shared_ptrunique_ptr,以前只能在TR1标题中使用。)

因此,您需要修补HElib以便为编译器执行正确的操作,或者将编译器更新为支持<tr1/memory>的版本或直接支持<memory>的现代版本。

另请参阅documentation for __cplusplus