Hi John, Thanks for you help, and now my MFC is compiling without the link error. There are still some things I would still like to know. I noticed that just by including the libs/regex/src/winstances.cpp file is enough to get rid of the the error
LNK2005: "public: static unsigned int __cdecl std::char_traits<unsigned short>::length(unsigned short const *)" (?length@?$char_traits@G@std@@SAIPBG@Z) already defined in msvcprtd.lib(MSVCP71D.dll)
so I was just wondering is it ok just to add only the winstances.cpp to my source directory as opposed to adding the entire libs/regex/src directory? I ask this because my static library was created with using stdafx.h (precompiled header), so I had to copy over the winstances.cpp file into my project directory and put in #include "stdafx.h" at the top as opposed to just referring to the libs/regex/src/winstances.cpp file directly. I prefer not to do this to every single file in the libs/regex/src directory if I don't need to include them anyway. Also, what is the cause of this link error. Does it have anything to do with VC++ compiler and how it ignores inline directives in debug mode as this person seems to suggest: http://aspn.activestate.com/ASPN/Mail/Message/2509074 In my experience, it seems that by having: boost::wregex expression(L"[ab]"); will cause the link error to happen. Is there going to be a fix for this problem? Regards, Martin -----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of John Maddock Sent: Tuesday, 8 May 2007 6:47 PM To: boost-users@lists.boost.org Subject: Re: [Boost-users] Having trouble including mystaticlibrary(whichuses regex) in my MFC app Martin Zeng wrote:
I cannot compile my MFC app in Multibyte, it must be in Unicode, also when I use wchar_t as built in type I get other link errors. So, I'm trying to attempt building the regex lib without the /Zc:wchar_t as you have suggested. But I'm not sure how to do this. Can you please help me?
The regex lib is "just a bunch of source files", so create a new static lib project in your IDE, set the appropriate build options, and add the regex source (in libs/regex/src) to it. Unless you name the resulting lib the same way that our auto-linking code expects then you will need to turn off auto-linking support in your app by defining BOOST_REGEX_NO_LIB when building, then add a dependency to the static regex lib to your apps IDE project. HTH, John. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users -- This email is from Civica Pty Limited and it, together with any attachments, is confidential to the intended recipient(s) and the contents may be legally privileged or contain proprietary and private information. It is intended solely for the person to whom it is addressed. If you are not an intended recipient, you may not review, copy or distribute this email. If received in error, please notify the sender and delete the message from your system immediately. Any views or opinions expressed in this email and any files transmitted with it are those of the author only and may not necessarily reflect the views of Civica and do not create any legally binding rights or obligations whatsoever. Unless otherwise pre-agreed by exchange of hard copy documents signed by duly authorised representatives, contracts may not be concluded on behalf of Civica by email. Please note that neither Civica nor the sender accepts any responsibility for any viruses and it is your responsibility to scan the email and the attachments (if any). All email received and sent by Civica may be monitored to protect the business interests of Civica.