再谈文本分析系统移植

这两天做了件前段时间想做而没有空做的事,将上半年搭建的文本分析扩展之后进行各种方式的打包发布。该系统是基于CRF++的,分别经过了分词阶段,词性标注阶段,实习识别阶段,而从实现方式上也经过了单线程,多线程,线程池,线程安全,本地执行,Thrift 服务,控制台接收,文本处理等阶段,其中所含内容甚多,虽在本地可以完美执行,但以静态库或动态库的方式移植至其他服务器却会出现问题,当然代码移植还是完美的。

出现问题如下:

1.使用CRF++自带的Makefile,编译出.a和.so文件后,动态库含有软链接,使用ar命令重新打包静态库,在对库的测试用例中出现在param.cpp的三个参数的open中,对类成员变量无法赋值的问题,报Segmentation fault错。

2.自己对所有源文件编译,重新写了新的makefile,成功编译出所有.o文件,对其进行.a与.so打包,并将其在测试用例目录与/usr/lib中都拷贝了一份,还是出现了上个错误。

打包方式:

(object) : Utility.o ConfigProc.o encoder.o feature_cache.o feature.o feature_index.o param.o node.o path.o PreProcessCRFPP.o ProcessForCRFPP.o ThreadPool.o Utility.o Strtok.o   tagger.o log.o lbfgs.o FileReader.o RMM.o crf_interface.h
    g++ $(object).cpp -shared -o libcrf_test.so $^ crf_interface.h $(LIBS) $(CFLAGS)
    g++ $(object).cpp -o $@.exe $^ crf_interface.h $(LIBS) $(CFLAGS)
    ar crv libcrfpp.a *.o

 

gdb调试不通

问题待日后解决。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值