![](/img/trans.png)
[英]undefined reference to symbol '_ZN5boost6system15system_categoryEv'
[英]freeling error with python and java api: undefined symbol: _ZN5boost6system15system_categoryEv
我在 Ubuntu 13.10 中安裝了 freeling 並且我正在嘗試使用 python 或 java api,但是每當我嘗試時都會出現錯誤:
matias@matias-IdeaPad-U430-Touch:~/Programas/Tools/freeling/freeling-3.1/APIs/python$ ./sample.py <test.txt >out.txt
Traceback (most recent call last):
File "./sample.py", line 10, in <module>
import freeling
File "/home/matias/Programas/Tools/freeling/freeling-3.1/APIs/python/freeling.py", line 26, in <module>
_freeling = swig_import_helper()
File "/home/matias/Programas/Tools/freeling/freeling-3.1/APIs/python/freeling.py", line 22, in swig_import_helper
_mod = imp.load_module('_freeling', fp, pathname, description)
File "/usr/lib/python3.3/imp.py", line 188, in load_module
return load_dynamic(name, filename, file)
ImportError: /usr/local/lib/libfreeling-3.1.so: undefined symbol: _ZN5boost6system15system_categoryEv
對於 Java:
matias@matias-IdeaPad-U430-Touch:~/Programas/Tools/freeling/freeling-3.1/APIs/python$ ./sample.py <test.txt >out.txt
Traceback (most recent call last):
File "./sample.py", line 10, in <module>
import freeling
File "/home/matias/Programas/Tools/freeling/freeling-3.1/APIs/python/freeling.py", line 26, in <module>
_freeling = swig_import_helper()
File "/home/matias/Programas/Tools/freeling/freeling-3.1/APIs/python/freeling.py", line 22, in swig_import_helper
_mod = imp.load_module('_freeling', fp, pathname, description)
File "/usr/lib/python3.3/imp.py", line 188, in load_module
return load_dynamic(name, filename, file)
ImportError: /usr/local/lib/libfreeling-3.1.so: undefined symbol: _ZN5boost6system15system_categoryEv
奇怪的是,java 文件確實編譯沒有錯誤。
當我安裝 Freeling 時,我確實收到以下錯誤:
/bin/bash ../../libtool --tag=CXX --mode=link g++ -O3 -Wall -L../../src/libfreeling -o dicc2phon corrector/dicc2phon-dicc2phon.o -lfreeling -lboost_regex -lz
libtool: link: g++ -O3 -Wall -o .libs/dicc2phon corrector/dicc2phon-dicc2phon.o -L../../src/libfreeling /home/matias/Programas/Tools/freeling/freeling-3.1/src/libfreeling/.libs/libfreeling.so -lboost_regex -lz
corrector/dicc2phon-dicc2phon.o: In function `_GLOBAL__sub_I_main':
dicc2phon.cc:(.text.startup+0x23): undefined reference to `boost::system::generic_category()'
dicc2phon.cc:(.text.startup+0x2f): undefined reference to `boost::system::generic_category()'
dicc2phon.cc:(.text.startup+0x3b): undefined reference to `boost::system::system_category()'
collect2: error: ld returned 1 exit status
但是當我調用它時,分析命令工作得很好。
我正在使用 libboost1.53,我嘗試安裝另一個版本,但一直收到未解決的依賴項和損壞的包的錯誤,所以我無法嘗試使用任何其他版本。
您缺少針對:libboost_system.a(或 libboost_system.so)的鏈接,因此 Makefile 規則(用於鏈接)應該在末尾包含以下內容: -lboost_system
(這應該已經在 g++ 的搜索路徑中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.