<regex> doesn't work with g++
Zouzou
internet@123gen.com
Fri Jul 27 08:37:00 GMT 2012
On 27/07/12 5:26, Daniel Colascione wrote:
> On 7/26/2012 8:03 PM, Yaakov (Cygwin/X) wrote:
>> On 2012-07-26 16:46, Daniel Colascione wrote:
>>> $ g++ -std=gnu++0x foo.cpp
>>> /tmp/ccS3vCW7.o:foo.cpp:(.text$_ZNSt11basic_regexIcSt12regex_traitsIcEEC1EPKcj[std::basic_regex<char,
>>>
>>> std::regex_traits<char> >::basic_regex(char const*, unsigned
>>> int)]+0x60): undefined reference to `std::basic_regex<char,
>>> std::regex_traits<char> >::_M_compile()'
>>> collect2: ld returned 1 exit status
>>
>> GCC 4.5 does not have full support for C++0x. We'll need an upgrade to
>> 4.7 for this to work.
>
> That's surprising. The regex header was in TR1, from back in 2005. I'd
> have expected gcc to support it a long time ago. I'm also surprised to
> see that the header definition present and the libstdc++ implementation
> absent. That's what made me think there was something wrong with the
> toolchain.
>
> Thanks.
>
std::regex is not fully implemented; upgrading to GCC 4.7 won't change
anything. there are several todo notices in regex header files hinting
at this.
have a look at boost::regex for the time being; should be close enough
to std::regex.
Zouzou
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list