1

我正在尝试编译 Apache Lucy。以下是我遵循的步骤:

  1. 下载露西和小丑鱼
  2. 编译的 Clownfish 运行时和编译器
  3. 配置露西
  4. 开始露西化妆

核心目录中文件的编译工作正常,但是当它到达模块时会引发错误:

$ make gcc -pedantic -Wall -Wextra -Wno-variadic-macros -std=gnu99 -D_GNU_SOURCE -D CFP_LUCY -D CFP_TESTLUCY -fvisibility=hidden -O2 -g -fno-strict-aliasing -fPIC -I . -I ../core -I autogen/include -I ../modules/analysis/snowstem/source/include -I ../modules/unicode/ucd -I ../modules/unicode/utf8proc -c ../modules/analysis/snowstem/source/libstemmer/libstemmer_utf8.c -o ../modules/analysis/snowstem/source/libstemmer/libstemmer_utf8.o ../modules/analysis/snowstem/source/libstemmer/libstemmer_utf8.c:4:35: fatal error: ../include/libstemmer.h: No such file or directory #include "../include/libstemmer.h" ^ compilation terminated. make: *** [../modules/analysis/snowstem/source/libstemmer/libstemmer_utf8.o] Error 1

问题似乎是模块中的代码文件包含具有相对路径的包含文件,例如#include "../include/libstemmer.h". 即使生成的目录包含在包含文件目录中,即 -I ../modules/analysis/snowstem/source/include但它不起作用

我开始修改源文件以删除相对路径,但更多的开始出现。我认为必须有更好的方法。关于如何解决这个问题的任何帮助都会非常有帮助。

4

3 回答 3

0

在我看来,还没有可用的 C 库。上面的链接是旧的(2012),但解释了为什么它不明显。

http://grokbase.com/t/lucy/user/12bp9rw0g7/lucy-user-using-lucy-directly-from-c

于 2017-08-01T21:22:59.683 回答
0

https://github.com/cancerberoSgx/lucy.js/blob/master/scripts/build-lucy-c.sh

这是一个 shell 脚本,它将克隆 lucy .git 和依赖项,编译 lucy c 和 clownfish C 它们,然后编译并运行 lucy/samples/c 之一

它在本地文件夹中完成所有操作,因此您不必以 root 身份全局安装任何东西。你需要像 gcc、make、configure 等 linux 构建工具。祝你好运

于 2017-11-03T01:25:22.850 回答
0

如果你只做 cpan Lucy::Simple 就足够了

于 2016-07-27T09:44:19.657 回答