我刚刚用最新的mingw- built构建了Qt4.8,我所有的c++项目都运行得很好,除了这一行:regex r("\\d+");,它在我的朋友PC上用Qt4.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 ?? 谢谢大家!
发布于 2012-11-16 04:02:44
std::regex是c++11标准库的一部分。
Mingw必须haven't included支持正则表达式,而VS2010支持它们。
但是,您可以改用QRegExp。
https://stackoverflow.com/questions/13404940
复制相似问题