我必须实现机器翻译系统,因此我计划使用摩西,但我在Cygwin上执行make命令时遇到以下错误:
Administrator@diebold-69b7050 /cygdrive/c/JT/NewSetup/Moses/moses-2010-08-13/moses/scripts/training/memscore$ make
make all-am
make[1]: Entering directory `/cygdrive/c/JT/NewSetup/Moses/moses-2010-08-13/moses
scripts/training/memscore'
g++ -I/usr/include -Wall -ffast-math -ftrapping-math -fomit-frame-pointer -g -O2 -o memscore.exe phrasetable.o memscore.o scorer.o lexdecom.o -lz -lm
phrasetable.o: In function `_ZlsRSoRK15PhraseAlignment':
/cygdrive/c/JT/NewSetup/Moses/moses-2010-08-13/moses/scripts/training/memscore/phrasetable.cpp:111: undefined reference to `boost::system::system_category()'
phrasetable.o: In function `__tcf_0':
/cygdrive/c/JT/NewSetup/Moses/moses-2010-08-13/moses/scripts/training/memscore/datastorage.h:31: undefined reference to `boost::system::system_category()'
phrasetable.o: In function `_ZN14PhrasePairInfo12realloc_dataEj':
/usr/include/boost/pool/simple_segregated_storage.hpp:97: undefined reference to `boost::system::system_category()'
phrasetable.o: In function `_ZNK14PhrasePairInfo14get_alignmentsEv':请不要给我的建议,如链接器错误,因为我是完全狂热的尝试链接器选项。
我想,我有一些Cygwin->Boot库的问题。你能告诉我我哪里错了吗?
发布于 2013-04-02 19:34:07
您正在对您的编译命令使用-lboost_system。
有些boost库只是头文件。其他的则需要编译。而且这些库有时相互依赖。在这种情况下,您使用的是一些需要-lboost_system的boost库。添加它,使其与您的项目相链接。
它应该在这条线上。链接完成的位置
g++ -I/usr/include -Wall -ffast-math -ftrapping-math -fomit-frame-pointer -g -O2 -o memscore.exe phrasetable.o memscore.o scorer.o lexdecom.o **-lboost_system** -lz -lm https://stackoverflow.com/questions/15762876
复制相似问题