|
Boost Users : |
From: Martin Zeng (MZeng_at_[hidden])
Date: 2007-05-09 22:11:56
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_at_G@std@@SAIPBG_at_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_at_[hidden]
[mailto:boost-users-bounces_at_[hidden]] On Behalf Of John Maddock
Sent: Tuesday, 8 May 2007 6:47 PM
To: boost-users_at_[hidden]
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_at_[hidden]
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.
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