1

我正在使用 SLRE ( http://slre.sourceforge.net/ ) 在 C 程序中进行 REGEX 检查。我包括头文件,然后我执行以下操作:

void checkRegex() {
    struct slre slre;
    struct cap captures[4+1];

    if(!slre_compile(&slre, "regularexpression") {
        printf("error");
    }
}

我正在使用该命令进行编译:gcc example1.c -o test.cgi -L. -lconfig我得到了那个错误:example1.c:(.text+0x1af3): undefined reference to 'slre_compile'

任何想法我做错了什么?

4

2 回答 2

3

我查看了该库,它由 slre.c 和 slre.h 组成,因此您可能像这样编译它

gcc slre.c -o slre.o -c
gcc example1.c slre.o -o test.cgi -L -lconfig
于 2013-04-20T09:46:56.373 回答
0

您必须在程序中包含头文件包含slre.c。SLRE 不是“仅标头”库。


编辑:刚刚在您的答案中看到了编译行。您可以使用此单线:

gcc example1.c slre.c -o test.cgi -L. -lconfig

但是,这将(重新)每次编译 SLRE。为了节省一些编译时间,您应该使用 Adrian 的答案中的行缓存已编译的 SLRE。

于 2013-04-20T09:43:50.287 回答