1

我刚刚使用最新的 mingw-builds 构建了 Qt 4.8,我所有的 c++ 项目都运行良好,除了这一行:regex r("\\d+"); 它在我的朋友 PC 上运行良好,使用 Qt 4.8,但使用 msvc2010 进行了调试。如果我正在写这一行:regex r; 它不会在这一行中断,但是我试图用“r”做的任何事情都会导致相同的未知错误结果。

如果我查看 (Level,Function,File,Line) 表上的 Qt 调试窗口,我可以看到:

0   msvcrt!abort    C:\Windows\system32\msvcrt.dll      0x7fefd9c537c   
1   libstdc++-6!_ZN9__gnu_cxx27__verbose_terminate_handlerEv    C:\MinGW\bin\libstdc++-6.dll        0x6fc5cc82  
2   msvcrt!_iob C:\Windows\system32\msvcrt.dll      0x7fefda12ae0   
3   ??          0x22f530    
4   ??          0x22f530    
5   ??          0x22f962e8  
6   msvcrt!__pioinfo    C:\Windows\system32\msvcrt.dll      0x7fefd993fc0   
7   ??          0x22f5f0    
8   ??          0xffffffff  
9   ??          0x22e37900  
10  ??          0x1 
11  ??          0x22f6d8    
12  ??          0x22ea9610  
13  libstdc++-6!__dynamic_cast  C:\MinGW\bin\libstdc++-6.dll        0x6fce1190  
14  ??          0x22f5b0    
15  libstdc++-6!_ZN9__gnu_cxx27__verbose_terminate_handlerEv    C:\MinGW\bin\libstdc++-6.dll        0x6fc5cc2e  
16  ??          0x22a8c0    
17  ??          0x22f750    
18  ??          0x22f669e0  
19  ??          0x202   
20  ??              

谢谢大家!

4

1 回答 1

1

std::regex是 c++11 标准库的一部分。

Mingw 肯定还没有包含对正则表达式的支持,而 VS 2010 支持它们。

但是,您可以QRegExp改用。

于 2012-11-15T20:02:43.833 回答