Closed falood closed 10 years ago
[ 9%] Building CXX object src/CMakeFiles/cjsegment.dir/segment.cpp.o
In file included from /Volumes/Z/Codes/source/cppjieba/src/segment.cpp:5:
In file included from /Volumes/Z/Codes/source/cppjieba/src/Limonp/ArgvContext.hpp:11:
In file included from /Volumes/Z/Codes/source/cppjieba/src/Limonp/str_functs.hpp:24:
/Volumes/Z/Codes/source/cppjieba/src/Limonp/std_outbound.hpp:10:10: fatal error:
'tr1/unordered_map' file not found
#include <tr1/unordered_map>
^
1 error generated.
make[2]: *** [src/CMakeFiles/cjsegment.dir/segment.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/cjsegment.dir/all] Error 2
make: *** [all] Error 2
我还是帖一下日志吧
补充一下,我在 Mac 下,编译器是 clang
nice。编译器是?大概猜是编译器太前沿了,抛弃了tr1这个库(不过我在g++ 4.7.2上测试也正常,纳闷。)。
解决方法是增加编译选项 -std=c++0x
或者 -std=c++11
具体做法是修改项目根目录下的CMakeLists.txt
这个文件的第八行。
把ADD_DEFINITIONS(-O3 -Wall -g)
修改成 ADD_DEFINITIONS(-O3 -Wall -g -std=c++0x)
多谢 @aszxqw ,这个选项可以解决当前问题,但因为 Mac 下没有 epoll,会引发下面的问题
In file included from /Volumes/Z/Codes/source/cppjieba/src/server.cpp:8:
/Volumes/Z/Codes/source/cppjieba/src/Husky/EpollServer.hpp:17:10: fatal error:
'sys/epoll.h' file not found
#include <sys/epoll.h>
所以我才会建议新建一个 jiebalib 的项目,因为这些脚本类的代码直接删了也不太合适,毕竟很多地方还可以会用到这些脚本
好的。之前确实没有意识到这个问题,谢谢你的提醒。
:D
独立的lib在右边 https://github.com/aszxqw/libcppjieba
https://github.com/falood/exjieba 项目已经在用 libcppjieba 了,多谢!
libcppjieba怎么配置到cppjieba-master呢?
最近想基于 cppjieba 写一个 Erlang 的接口 ,发现如下问题
所以暂时用 nodejieba 的代码构建了项目。 因此有以下建议:
独立出一个最小化的 jiebalib 项目,去除依赖,只提供引擎功能