Boost logo

Boost :

Subject: Re: [boost] [outcome] non-interface-related concerns
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2017-05-27 16:04:14


>>> Yes, it's a mystery. I would assume that your mingw-w64 is older than
>>> mine. They may have since implemented the integer to string conversion
>>> routines the compile error is complaining about recently.
>
> The bug is caused by symbols `_ui64toa_s` and `_itoa_s` being used but not
> declared. Do you need platform-specific things for accomplishing your task?
> Are there no C++-standard ways of converting integers to string that would
> work for you?

The compiler errors you sent me said that they weren't declared in
scope. Not undefined reference. Likely your mingw-w64 headers are
incomplete.

Remember that file is C code, not C++ code, and it's Windows-only, so
the choice of number to string function is more limited. Using itoa()
directly is frowned upon by MSVC with warnings, so I used itoa_s() to
shut it up.

Fixing your compile error would be extremely trivial, we just need a way
of selecting itoa() vs itoa_s().

>>> If you can figure out a way of detecting mingw-w64 version, I can use
>>> the non-_s editions of those conversion functions. That would get you up
>>> and running on your version of mingw.
>>>
>>
> Ok, I'll look for it. You mean how to tell a 64 versus non-64 version of
> minGW, right?

I'd even accept #ifdef __MINGW_W64__ or whatever its macro is.

Niall

-- 
ned Productions Limited Consulting
http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk