我正在尝试编译 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
但它不起作用
我开始修改源文件以删除相对路径,但更多的开始出现。我认为必须有更好的方法。关于如何解决这个问题的任何帮助都会非常有帮助。