使用SLRE lib的未定义引用

时间:2013-04-20 09:36:26

标签: c

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

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

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

我正在使用该命令进行编译:{{1​​}}我收到了错误:gcc example1.c -o test.cgi -L. -lconfig

任何想法我做错了什么?

2 个答案:

答案 0 :(得分:3)

我查看了库,它由slre.c和slre.h组成,所以你可能像

一样编译它
gcc slre.c -o slre.o -c
gcc example1.c slre.o -o test.cgi -L -lconfig

答案 1 :(得分:0)

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


编辑:刚刚在你的答案中看到了编译行。你可以使用这个单行:

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

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