我在Code :: blocks中使用PCRE时遇到了一些问题。我从here下载了PCRE。并完成了here提到的所有步骤。但是我在执行期间收到了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(®,pattern.c_str(),REG_EXTENDED|REG_ICASE);
if (regexec(®,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(®);
return 0;
}
我不知道如何解决这个问题,任何想法?
PS:上面提到的代码来自this教程。
答案 0 :(得分:1)
将DLL复制到与您运行的可执行文件相同的目录中。如果可以,那么您没有正确安装DLL,或者至少没有以一般程序可以找到的方式安装DLL。查看DLL Search Order的文档,了解如何让系统找到DLL。特别是,您需要知道有一个链接器和一个加载器(也就是动态/运行时链接器/加载器),但在CodeBlocks中只配置了其中一个!