关于Windows环境下安装CRF++的安装、Python接口的安装以及Pycharm引用报错的解决

仅供在windows环境下遇到以下几个问题的同学参考。
主要步骤,下载安装包,可以下载别人打包好的,也可以从官网下载,然后进行一系列替换文件的操作,但是windows下官网只下载32位的文件,无法在64位的电脑中使用。这些步骤大差不差,此处不赘述。

1.LNK1104 无法打开文件“pthread.lib”(Error : LNK1104 cannot open file 'pthread.lib')
这是编译过程中缺少了pthread.lib文件
2.这是因为使用了32位的文件,无法在64位电脑中使用,可以自己写编译,或者直接用别人打包好的最方便

CRFPP_wrap.obj : warning LNK4197: 多次指定导出“PyInit__CRFPP”;使用第一个规范
  正在创建库 buildtemp.win-amd64-3.7Release_CRFPP.cp37-win_amd64.lib 和对象 buildtemp.win-amd64-3.7Release_CRFPP.cp37-win_amd64.exp
CRFPP_wrap.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) class CRFPP::Tagger * __cdecl CRFPP::createTagger(char const *)" (__imp_?createTagger@CRFPP@@YAPEAVTagger@1@PEBD@Z)
CRFPP_wrap.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) class CRFPP::Model * __cdecl CRFPP::createModel(char const *)" (__imp_?createModel@CRFPP@@YAPEAVModel@1@PEBD@Z)
CRFPP_wrap.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) char const * 

以上问题都可以通过直接下载好心人士打包好的windows下的64位CRF++-0.58解决

3.ImportError: DLL load failed ... 找不到指定的模块
这是因为编译安装了,但是虚拟环境无法调用,需要将上述步骤完成后,python文件夹中的libcrfpp.dll文件复制到所使用虚拟环境的<虚拟环境名>/Lib/site-packages文件夹中.

posted @ 2022-04-29 15:19  Moyidoudouzi  阅读(713)  评论(3)    收藏  举报