2011-02-18 wcdj
在VS2008中使用#include <regex>,会得到以下错误提示:
fatal error C1083: Cannot open include file: 'regex': No such file or directory
然后google关键字:“Cannot open include file: 'regex': No such file or directory”,可以找到下面这个link:
“Cannot open include file: 'regex'”
可以得到相关解答 为:
[1]
Yes, VC++ 2010 and 2008 SP1 include the TR1 regex library. If you have SP1 installed, but don't have that header, I recommend repairing your Visual Studio installation.
If using a third-party library is an option, I recommend boost's xpressive or regex libraries, the latter of which was the basis for TR1's regex.
[2]
RTM stands for release to manufacturing, which is the originally released version (without service packs). If you installed the service pack you will have a higher version number in Help->About.
[3]
yea, I tried to install the sp1 and the version number increased, and "regex" is in there.
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&displaylang=en
然后查看一下本机上安装的VS2008,版本号如下:
Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1
因此,在RTM版本上并没有service packs,所以才找不到'regex'。
通过上面的回答,可以找到“Microsoft Visual Studio 2008 Service Pack 1 (Installer) (VS90sp1-KB945140-ENU.exe 536KB) ”,下载安装发现出错,提示这个更新只支持E版的VS2008:
Installation Requirements:
A compatible version of Visual Studio 2008 was not detected on the system. This update is designed for only the Microsoft Visual Studio 2008 (ENU) product family, and is not compatible with any Express edition