2
我在Code :: blocks中使用PCRE時遇到了一些問題。我已經從here下載了PCRE。並做了所有步驟here。但是我在執行過程中遇到了pcr3.dll丟失的錯誤。如何讓PCRE與Code :: blocks正常工作?
程序無法啓動,因爲您的 計算機缺少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教程。
只需仔細檢查,但是您是否在您鏈接的帖子中閱讀了[此評論](http://stackoverflow.com/questions/8230905/regex-h-for-windows#comment10140086_8231041)?您收到的錯誤消息讓我想知道(a)pcr3.dll在您的文件系統中的位置以及(b)您是否在Code :: Blocks的設置中添加了必要的include和lib路徑。 (也就是說,你是否提供了Code :: Blocks和包含'pcr3.dll'的目錄的路徑?) – 2013-07-12 01:50:55
是的,我做過。我在搜索目錄中鏈接了包含'pcr3.dll'的文件夾。 – Quixotic
嗯...你是否也添加了'pcre3.dll'到庫鏈接列表? (我沒有使用Code :: Blocks,但它會是[本教程中的步驟5B](http://www.learncpp.com/cpp-tutorial/a3-using-libraries-with-codeblocks/)。)這聽起來像也許你將包含'pcre3.dll'的目錄添加到鏈接程序搜索路徑(這很好),但未能指定庫本身。您也可以嘗試在forums.codeblocks.org上提問。 – 2013-07-12 03:32:10