Boost logo

Boost Users :

From: Mangal (Manish.Mangal_at_[hidden])
Date: 2007-02-02 17:14:33


Hi John
Thanks for the replies.
Sorry I was out of Office and did not respond.

I got past the stdext namespace errors. Can you please look at this post of
mine.

I can get the release versions working but not the debug.. I am pretty sure
I have build debug versions of Boost with stlport.

http://www.nabble.com/Link-errors-with-boost-regex-1_33_1%2C-Stlport-5.0-and-MSVC8-tf3119605.html#a8642887

Mangal wrote:
>
> Hi
>
> I have built the StlPort 5.1.0 shared dlls and boost 1_33_1 Shared dlls
> successfully.
>
> The Platform is MSVC8.
>
> I created a sample projeth with just on file with code:
>
> #include <boost/regex.hpp>
>
>
>
> bool testregex( const char* StringToMatch )
>
> {
>
> return( boost::regex_match( StringToMatch,
> boost::regex("[A-Z]+") ));
>
> }
>
>
>
> int main (int argc, char *argv[])
>
> {
>
> bool trial = testregex( "hello how r u ?");
>
> return 1;
>
> }
>
>
>
>
>
> Compilation succeeds but I get two Linker errors (BOOST_DYN_LINK is
> defined)
>
>
>
> Main.obj : error LNK2001: unresolved external symbol "public: bool
> __thiscall boost::re_detail::perl_matcher<char const *,class
> stlp_std::allocator<struct boost::sub_match<char const *> >,struct
> boost::regex_traits<char,class boost::w32_regex_traits<char> >
>>::match(void)"
> (?match@?$perl_matcher_at_PBDV?$allocator_at_U?$sub_match_at_PBD@boost@@@stlp_std
> @@U?$regex_traits_at_DV?$w32_regex_traits_at_D@boost@@@boost@@@re_detail_at_boost
> @@QAE_NXZ)
>
> 1>Main.obj : error LNK2001: unresolved external symbol "public:
> __thiscall boost::re_detail::perl_matcher<char const *,class
> stlp_std::allocator<struct boost::sub_match<char const *> >,struct
> boost::regex_traits<char,class boost::w32_regex_traits<char> >
>>::perl_matcher<char const *,class stlp_std::allocator<struct
> boost::sub_match<char const *> >,struct boost::regex_traits<char,class
> boost::w32_regex_traits<char> > >(char const *,char const *,class
> boost::match_results<char const *,class stlp_std::allocator<struct
> boost::sub_match<char const *> > > &,class
> boost::basic_regex<char,struct boost::regex_traits<char,class
> boost::w32_regex_traits<char> > > const &,enum
> boost::regex_constants::_match_flags,char const *)"
> (??0?$perl_matcher_at_PBDV?$allocator_at_U?$sub_match_at_PBD@boost@@@stlp_std@@U?
> $regex_traits_at_DV?$w32_regex_traits_at_D@boost@@@boost@@@re_detail_at_boost@@QA
> E_at_PBD0AAV?$match_results_at_PBDV?$allocator_at_U?$sub_match_at_PBD@boost@@@stlp_s
> td@@@2_at_ABV?$basic_regex_at_DU?$regex_traits_at_DV?$w32_regex_traits_at_D@boost@@@
> boost@@@2_at_W4_match_flags_at_regex_constants_at_2@0_at_Z)
>
>
>
>
>
> So it cannot find the constructor for perl_matcher and the declaration
> for regex_match.
>
>
>
> I found a similar post on Boost :
> http://www.nabble.com/-regex-Using-regex-in-x64-exe-with-VC-8.0-t2088061
> .html#a5755051
>
>
>
> The suggested solutions on this post are:
>
> 1) check for intermixing of x86 and x64 : I am on 32 bit
> platform.. so intermixing does not apply
>
> 2) add regex source code and compile ( using BOOST_REGEX_NO_LIB) :
> I get the errors for stdext namespace
>
>
>
> 1>C:\boost_1_33_1\boost/regex/v4/regex_workaround.hpp(145) : error
> C2653: 'stdext' : is not a class or namespace name
>
> 1> C:\boost_1_33_1\boost/regex/v4/regex_format.hpp(562) : see
> reference to function template instantiation 'OutputIterator
> boost::re_detail::copy<const
> charT*,OutputIterator>(InputIterator,InputIterator,OutputIterator)'
> being compiled
>
> 1> with
>
> 1> [
>
> 1>
> OutputIterator=boost::re_detail::string_out_iterator<stlp_std::basic_str
> ing<wchar_t,stlp_std::char_traits<wchar_t>,stlp_std::allocator<wchar_t>>
>>,
>
> 1> charT=wchar_t,
>
> 1> InputIterator=const wchar_t *
>
> 1> ]
>
> 1> C:\boost_1_33_1\boost/regex/v4/match_results.hpp(160) : see
> reference to function template instantiation 'OutputIterator
> boost::re_detail::regex_format_imp<boost::re_detail::string_out_iterator
> <S>,const
> wchar_t*,stlp_std::allocator<_Tp>,_CharT,boost::re_detail::trivial_forma
> t_traits<charT>>(OutputIterator,const boost::match_results<BidiIterator>
> &,const charT *,const charT
> *,boost::regex_constants::match_flag_type,const traits &)' being
> compiled
>
> 1> with
>
> 1> [
>
> 1>
> OutputIterator=boost::re_detail::string_out_iterator<stlp_std::basic_str
> ing<wchar_t,stlp_std::char_traits<wchar_t>,stlp_std::allocator<wchar_t>>
>>,
>
> 1>
> S=stlp_std::basic_string<wchar_t,stlp_std::char_traits<wchar_t>,stlp_std
> ::allocator<wchar_t>>,
>
> 1> _Tp=boost::sub_match<const wchar_t *>,
>
> 1> _CharT=wchar_t,
>
> 1> charT=wchar_t,
>
> 1> BidiIterator=const wchar_t *,
>
> 1> traits=boost::re_detail::trivial_format_traits<wchar_t>
>
> 1> ]
>
> 1> C:\boost_1_33_1\boost/regex/v4/match_results.hpp(156) : while
> compiling class template member function
> 'stlp_std::basic_string<_CharT,_Traits,_Alloc>
> boost::match_results<BidiIterator>::format(const
> stlp_std::basic_string<_CharT,_Traits,_Alloc>
> &,boost::regex_constants::match_flag_type) const'
>
> 1> with
>
> 1> [
>
> 1> _CharT=wchar_t,
>
> 1> _Traits=stlp_std::char_traits<wchar_t>,
>
> 1> _Alloc=stlp_std::allocator<wchar_t>,
>
> 1> BidiIterator=const wchar_t *
>
> 1> ]
>
> 1> C:\boost_1_33_1\boost/regex/v4/instances.hpp(86) : see
> reference to class template instantiation
> 'boost::match_results<BidiIterator>' being compiled
>
> 1> with
>
> 1> [
>
> 1> BidiIterator=const wchar_t *
>
> 1> ]
>
> 1>C:\boost_1_33_1\boost/regex/v4/regex_workaround.hpp(145) : error
> C3861: 'unchecked_copy': identifier not found
>
>
>
>
>
> Can anyone suggest a solution??
>
>
>
> Thanks in advance
>
> Manish Mangal
>
> Software Engineer
>
>
> atlas(r) search
> Partner for Results
>
> 206-816-8349 // phone
>
> Manish.Mangal_at_[hidden] <mailto:t-Matt.Koch_at_[hidden]>
> // email
> www.AtlasSolutions.com
> <outbind://116-000000001368D4B5F8F6D0488191444C76FD7C9507008921F4CB773B0
> 545AAED425DEF553BC300003A3500100000DB0C51F64BED3447AA6EC585072C4EC300000
> 1E3B7A70000/jenniferh/Local%20Settings/Temporary%20Internet%20Files/OLK3
> /www.AtlasSolutions.com> // web
>
>
>
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>

-- 
View this message in context: http://www.nabble.com/FW%3A-Linker-errors-when-using-regex-Lib-with-MSVC8-and-STLPort-5.1.0-and-Boost-1_33_1-tf3119176.html#a8776625
Sent from the Boost - Users mailing list archive at Nabble.com.

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net