1
我在編譯代碼以測試PCRE庫是否正確安裝時遇到問題。編譯錯誤C++ - 使用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:[email protected]\r\n"\
"From:[email protected]\r\n"\
"From:[email protected]\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++,使用Dev Package Manager安裝了該軟件包。
這是DevPak包安裝:http://www.mediafire.com/?zb3wc6q07sddsac我用來安裝庫(PCRE-6.4.1)
我需要一些指導,這將導致我corretly安裝該庫(這樣我就可以工作常用表達)。
如果不是,我會很喜歡對C++庫的引用,以支持易於在此Dev-C++或CodeBlocks上安裝的正則表達式。
感謝您的幫助!
編輯: 感謝您的幫助,通過檢查該線程兩個線程How do I get PCRE to work with C++?
又啞的編碼器的反應解決了這個。
什麼是命令行做鏈接? – Mark 2011-04-06 15:12:56
您是否嘗試設置路徑和庫依賴關係? – DumbCoder 2011-04-06 15:14:43
你是否正確鏈接標誌(例如'g ++ whatever -lprce')? – Darhuuk 2011-04-06 15:18:36