Re: MSVC C4251

David Abrahams <[email protected]>
Newsgroups gmane.comp.lib.boost.langbinding
Message-ID <[email protected]>
on Mon Jun 11 2007, John Moeller <fishcorn-AT-gmail.com> wrote:

> [I wasn't able to successfully post this to the list via NNTP, 

I beg to differ :)

> so I'm trying again with the Mailman interface]

> After finally writing a Jamfile.v2 that works, I get a C4251 warning
> when the DLLs build, because backend::call_xxx_data has a std::vector of
> boost::shared_ptr<void>.

What do you mean by "has?"

> I had implemented a tweak for MSVC that enabled the exportation of
> std::vector<boost::shared_ptr<void> > (and the corresponding
> allocator).

Sorry, that's too vague for me to get any useful information.

> I thought about it though, and it would only be useful if symbols
> were decorated the same way in both the exporting DLL and the
> importing binary.  Aren't symbol decorations
> implementation-specific?

In principle, yes, although MSVC defines a de-facto platform standard
that many others adhere to.

> If so, I should probably just disable C4251, rather than exporting the
> vector and allocator specializations.  Or should I leave the export
> tweak in there?

Don't know what it is, but it sounds like it's probably a mistake.

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

The Astoria Seminar ==> http://www.astoriaseminar.com


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.