2

在 Code::blocks 中使用 PCRE 时,我遇到了一些问题。我从这里下载了 PCRE 。并做了这里提到的所有步骤。但是,我在执行过程中收到 pcr3.dll 丢失错误。

程序无法启动,因为您的计算机缺少 pcre3.dll。尝试重新安装程序以解决此问题。

我的代码

#include <iostream>
#include <regex.h>
using namespace std;


 int main(){

 regex_t reg;

 string pattern = "[^tpr]{2,}";
 string str = "topcoder";

 regmatch_t matches[1];

 regcomp(&reg,pattern.c_str(),REG_EXTENDED|REG_ICASE);

 if (regexec(&reg,str.c_str(),1,matches,0)==0) {
       cout << "Match " ;
       cout << str.substr(matches[0].rm_so,matches[0].rm_eo-matches[0].rm_so) ;
       cout << " found starting at: " ;
       cout << matches[0].rm_so ;
       cout << " and ending at " ;
       cout << matches[0].rm_eo ;
       cout << endl;
  } else {
       cout << "Match not found.";
       cout << endl;
 }
 regfree(&reg);

  return 0;
 }

我不知道如何解决这个问题,有什么想法吗?

PS:以上代码取自教程。

4

1 回答 1

1

将 DLL 复制到与您正在运行的可执行文件相同的目录中。如果这样可行,则说明您没有正确安装 DLL,或者至少没有以通常程序可以找到的方式安装 DLL。查看DLL 搜索顺序的文档,了解如何让系统找到 DLL。特别是,您需要知道有一个链接器和一个加载器(又名动态/运行时链接器/加载器),但在 CodeBlocks 中只配置了其中一个!

于 2013-07-12T05:50:30.493 回答