我无法将Boost Regex与我的程序联系起来。就此而言,我的意思是Code :: Blocks一直给我带来一些麻烦。
以下是我从其他论坛获得的程序代码,附带一些额外的打印声明。
#include <boost/regex.hpp>
#include <string>
#include <iostream>
int main(int argc, const char** argv)
{
std::string str = "The boost library has a great opportunity for the regex";
std::cout << "Here 1" << std::endl;
boost::regex rex("\\b(?:\\w+?)((\\w)\\2)(?:\\w+?)\\b");
std::cout << "Here 2" << std::endl;
boost::smatch res;
std::cout << "Here 3" << std::endl;
std::string::const_iterator begin = str.begin();
std::cout << "Here 4" << std::endl;
std::string::const_iterator end = str.end();
while (boost::regex_search(begin, end, res, rex))
{
std::cout << "Here 5" << std::endl;
std::cout << "Word, we've searched, is \"" << res[0] << "\". It has two \""
<< res[2]
<< "\" inside itself."
<< std::endl;
begin = res[1].second;
}
return 0;
}
如果我在Code :: Blocks中按f9,程序运行正常,但是,当我尝试从Code :: Blocks外部运行时:
cd ~/letter_finder/bin/Release
./letter_finder
我得到以下输出:
dhcp-1218-32-207-253:Release admin$ ./ubuntu
Here 1
Here 2
Here 3
Here 4
我需要键盘中断才能退出。我知道问题在于链接到Boost,因为我已经能够使用终端运行Code :: Blocks中的每个新项目附带的Hello World程序。我搜索并尝试了Code :: Blocks wiki和Code :: Blocks论坛上的大部分Boost设置说明,但它们似乎没有用。有什么建议吗?
由于