【发布时间】:2016-09-29 01:30:19
【问题描述】:
我正在尝试编译 Apache Lucy。以下是我遵循的步骤:
- 已下载露西和小丑鱼
- 已编译的 Clownfish 运行时和编译器
- 配置露西
- 开始露西化妆
核心目录中文件的编译工作正常,但是当它到达模块时会引发错误:
$ 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,但它不起作用
我开始修改源文件以删除相对路径,但更多内容开始出现。我认为必须有更好的方法。有关如何解决此问题的任何帮助都会非常有帮助。
【问题讨论】:
-
您是否按照
perl文件夹下的INSTALL文档中描述的安装步骤操作? -
我不希望 perl 绑定只是一个 C 库,所以我没有在
perl子目录中执行这些步骤。我直接去了C子目录,然后在那里尝试了安装说明。 -
我刚刚尝试在
perl目录INSTALL文件下运行命令,但也失败了。
标签: c gcc makefile include apache-lucy