
I've looked a tiny amount further (but don't have time to investigate further). I'm sure this will prove useful. Paul If MS Extensions are Disabled (my default setting): It would seem that BOOST_REGEX_CALL?? is not defined for __thiscall - only for __decl and __fastcall Compiling... in debug mode demo_grep.cpp Linking... demo_grep.obj : error LNK2019: unresolved external symbol "public: void __thiscall boost::re_detail::raw_storage::resize(unsigned int)" (?resize@raw_storage@re_detail@boost@@QAEXI@Z) referenced in function "public: void * __thiscall boost::re_detail::raw_storage::extend(unsigned int)" (?extend@raw_storage@re_detail@boost@@QAEPAXI@Z) demo_grep.obj : error LNK2019: unresolved external symbol "public: void * __thiscall boost::re_detail::raw_storage::insert(unsigned int,unsigned int)" (?insert@raw_storage@re_detail@boost@@QAEPAXII@Z) referenced in function "public: struct boost::re_detail::re_syntax_base * __thiscall boost::re_detail::basic_regex_creator<char,struct boost::regex_traits<char,class boost::cpp_regex_traits<char> > >::insert_state(int,enum boost::re_detail::syntax_element_type,unsigned int)" (?insert_state@?$basic_regex_creator@DU?$regex_traits@DV?$cpp_regex_traits@D@boost@@@boost@@@re_detail@boost@@QAEPAUre_syntax_base@2 3@HW4syntax_element_type@23@I@Z) J:\Cpp\Misc\Debug\grep.exe : fatal error LNK1120: 2 unresolved externals If MS Extensions are enabled, it compiles but fails an assert line 271 in xstring - "string iterators incompatible" In release mode the program simply bombs :-(
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Emre Turkay Sent: 07 February 2008 08:31 To: boost@lists.boost.org Subject: Re: [boost] A grep like boost::iostreams filter.
Hi Paul, I have found a Visual Studio 2005 installed windows PC and tried to compile. The first one was apparently failing because of the problem I mentioned before. However, the last one compiles and runs fine for both release and debug targets.
I used Boost Consulting's BoostPro 1.34.1 installer. My main.cpp file is below, you need to change the full_path_to_the_main.cpp.
HTH,
emre
int main()
{
boost::iostreams::grep_filter filter("main");
boost::iostreams::filtering_istream is;
is.unsetf(std::ios::skipws);
is.push(filter);
is.push(boost::iostreams::file_source("full_path_to_the_main.cpp"));
std::copy(std::istream_iterator<char>(is),
std::istream_iterator<char>(),
std::ostream_iterator<char>(std::cout));
}
On Feb 6, 2008 11:26 AM, Paul A Bristow <pbristow@hetp.u-net.com> wrote:
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Emre Turkay Sent: 06 February 2008 07:23 To: boost@lists.boost.org Subject: Re: [boost] A grep like boost::iostreams filter.
Hi Paul,
I don't have a Visual C compiler around but the link error
you got is
probably not related with the grep filter.
For the run time bug, one of my friends had the same experience and we have found out that visual c cannot handle iterators of the empty strings. So I made a workaround for it, I don't know if it works, since I couldn't try it with VC yet.
Can you download, give it a try and let me know if it works for you?
Sadly, this gives me the same result in both debug (link failure - missing include?) and release (crashes).
:-(
Paul
Linking... demo_grep.obj : error LNK2019: unresolved external symbol "public: void __thiscall boost::re_detail::raw_storage::resize(unsigned int)" (?resize@raw_storage@re_detail@boost@@QAEXI@Z) referenced in function "public: void * __thiscall boost::re_detail::raw_storage::extend(unsigned int)" (?extend@ raw_storage@re_detail@boost@@QAEPAXI@Z) demo_grep.obj : error LNK2019: unresolved external symbol "public: void * __thiscall boost::re_detail::raw_storage::insert(unsigned int,unsigned int)" (?insert@raw_storage@re_detail@boost@@QAEPAXII@Z) referenced in function "public: struct boost::re_detail::re_syntax_base * __thiscall boost::re_detail::basic_regex_creator<char,struct boost::regex_traits<char,class boost::cpp_regex_traits<char> > >::insert_state(int,enum boost::re_detail::syntax_element_type,unsigned int)" (?insert_state@?$basic_regex_creator@DU?$regex_traits@DV ?$cpp_regex_traits@D@boost@@@boost@@@re_detail@boost@@ QAEPAUre_syntax_base@2 3@HW4syntax_element_type@23@I@Z) J:\Cpp\Misc\Debug\grep.exe : fatal error LNK1120: 2 unresolved externals
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost