gpt4 book ai didi

c++ - 编译错误 C++ - 使用 PCRE 库的 undefined reference

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:01:33 24 4
gpt4 key购买 nike

我在编译代码以测试 PCRE 库是否安装正确时遇到问题。

#include <string> 
#include <iostream>
#include <pcre.h>



int main (int argc, char *argv[])

{
const char *error;
int erroffset;
pcre *re;
int rc;
int i;
int ovector[100];

char *regex = "From:([^@]+)@([^\r]+)";
char str[] = "From:regular.expressions@example.com\r\n"\
"From:exddd@43434.com\r\n"\
"From:7853456@exgem.com\r\n";

re = pcre_compile (regex, /* the pattern */
PCRE_MULTILINE,
&error, /* for error message */
&erroffset, /* for error offset */
0); /* use default character tables */
if (!re)
{
printf("pcre_compile failed (offset: %d), %s\n", erroffset, error);
return -1;
}

unsigned int offset = 0;
unsigned int len = strlen(str);
while (offset < len && (rc = pcre_exec(re, 0, str, len, offset, 0, ovector, sizeof(ovector))) >= 0)
{
for(int i = 0; i < rc; ++i)
{
printf("%2d: %.*s\n", i, ovector[2*i+1] - ovector[2*i], str + ovector[2*i]);
}
offset = ovector[1];
}
return 1;
}

返回的错误是:

[Linker error] undefined reference to `_imp__pcre_compile' 

[Linker error] undefined reference to `_imp__pcre_exec'

我很确定我在做一些愚蠢的事情。

目前使用 IDE Dev-C++,使用开发包管理器安装了包。

这是 DevPak 包安装程序: http://www.mediafire.com/?zb3wc6q07sddsac 我用来安装库 (pcre-6.4.1)

我需要一些指导来正确安装这个库(这样我就可以使用正则表达式)。

如果没有,我希望引用一个 c++ 库以支持易于在此 Dev-C++ 或 CodeBlocks 上安装的正则表达式。

感谢您的帮助!

编辑:感谢您的帮助,通过检查这个线程 How do I get PCRE to work with C++? 解决了这个问题

以及两个线程中的愚蠢编码员响应。

最佳答案

您是否遇到名称修改问题? pcre.h 里有这样的东西吗?

extern "C" {
// declarations of c functions for c++
}

如果不用它包裹你的#include,它会通知 C++ 它正在调用 C 函数

关于c++ - 编译错误 C++ - 使用 PCRE 库的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5568644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com