boost 1.33.1 + icu - does not working with simple char's

Hi all I found one strange thing - when i compile boost::regex with unicode support (via icu), my code, that use char's stop linking with following messages: /opt/skvt2-devel/include/boost/regex/v4/basic_regex.hpp:254: undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)' Configuration.o: In function `perl_matcher': /opt/skvt2-devel/include/boost/regex/v4/perl_matcher_common.hpp:44: undefined reference to `boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >
, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > ::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)' GroupInfo.o: In function `basic_regex': /opt/skvt2-devel/include/boost/regex/v4/basic_regex.hpp:254: undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)' LManager.o: In function `basic_regex': /opt/skvt2-devel/include/boost/regex/v4/basic_regex.hpp:254: undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)' LManager.o: In function `assign': /opt/skvt2-devel/include/boost/regex/v4/basic_regex.hpp:254: undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
I want to use both unicode regexp's and usual regexp's. how i can fix this?
gcc -v Using built-in specs. Target: i586-suse-linux Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib --enable-languages=c,c++,objc,f95,java,ada --disable-checking --with-gxx-include-dir=/usr/include/c++/4.0.2 --enable-java-awt=gtk --disable-libjava-multilib --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit --without-system-libunwind --host=i586-suse-linux Thread model: posix gcc version 4.0.2 20050901 (prerelease) (SUSE Linux)
-- With best wishes, Alex Ott Jet Infosystems, Head of software development group, MBA +7 (095) 411 76 01 http://www.jetsoft.ru/

I found one strange thing - when i compile boost::regex with unicode support (via icu), my code, that use char's stop linking with following messages:
/opt/skvt2-devel/include/boost/regex/v4/basic_regex.hpp:254: undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> >
::do_assign(char const*, char const*, unsigned int)' Configuration.o: In function `perl_matcher':
I want to use both unicode regexp's and usual regexp's. how i can fix this?
That's weird: Adding ICU/Unicode support doesn't change narrow character support at all, it literally adds a few extras and leaves everything else unchanged, can you please double check all your build commands, and if you still have a problem then let me have a test case? John.
participants (2)
-
Alex Ott
-
John Maddock