Re: [Interest] error: reference to 'byte' is ambiguous with C++17

2019-07-24 Thread Vadim Peretokin
On Wed, Jul 24, 2019 at 11:38 AM Giuseppe D'Angelo via Interest <
interest@qt-project.org> wrote:

> Il 24/07/19 09:25, Vadim Peretokin ha scritto:
> > I'm compiling my Qt application with C++17 on Windows with the
> > Qt-provided MinGW 7.3.0 and the Qt definition of a byte is conflicting
> > with the new one defined in the standard (http://wg21.link/p0298r3).
> >
> > Here's a snippet of the issue: https://paste.ubuntu.com/p/Y73FRVqq2n/
> >
> > Full build log:
> > https://ci.appveyor.com/project/Mudlet/mudlet/builds/26199708
> >
> > What's the correct solution here?
>
> As your log shows, that (re)definition of "byte" is coming from a MinGW
> header, and not Qt.
>
> Given the definition in the Standard Library is in the namespace std,
> the only possibility for a clash is that there's a "using namespace
> std;" directive somewhere in your code (or in some other header you
> include; Qt does not have anything like that). The solution is, as
> usual, to drop such a directive.
>
> This is the other side of the coin for "using namespace" directives:
> when names are added to those namespaces they may clash against existing
> code, destroying the isolation that namespaces offer in the first place.
>
>
That was it! Thanks for the detailed explanation. Removing the 'using
namespace std;' did the trick.
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] error: reference to 'byte' is ambiguous with C++17

2019-07-24 Thread Giuseppe D'Angelo via Interest

Il 24/07/19 09:25, Vadim Peretokin ha scritto:
I'm compiling my Qt application with C++17 on Windows with the 
Qt-provided MinGW 7.3.0 and the Qt definition of a byte is conflicting 
with the new one defined in the standard (http://wg21.link/p0298r3).


Here's a snippet of the issue: https://paste.ubuntu.com/p/Y73FRVqq2n/

Full build log: 
https://ci.appveyor.com/project/Mudlet/mudlet/builds/26199708


What's the correct solution here?


As your log shows, that (re)definition of "byte" is coming from a MinGW 
header, and not Qt.


Given the definition in the Standard Library is in the namespace std, 
the only possibility for a clash is that there's a "using namespace 
std;" directive somewhere in your code (or in some other header you 
include; Qt does not have anything like that). The solution is, as 
usual, to drop such a directive.


This is the other side of the coin for "using namespace" directives: 
when names are added to those namespaces they may clash against existing 
code, destroying the isolation that namespaces offer in the first place.


HTH,
--
Giuseppe D'Angelo | giuseppe.dang...@kdab.com | Senior Software Engineer
KDAB (France) S.A.S., a KDAB Group company
Tel. France +33 (0)4 90 84 08 53, http://www.kdab.com
KDAB - The Qt, C++ and OpenGL Experts



smime.p7s
Description: Firma crittografica S/MIME
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


[Interest] error: reference to 'byte' is ambiguous with C++17

2019-07-24 Thread Vadim Peretokin
I'm compiling my Qt application with C++17 on Windows with the Qt-provided
MinGW 7.3.0 and the Qt definition of a byte is conflicting with the new one
defined in the standard (http://wg21.link/p0298r3).

Here's a snippet of the issue: https://paste.ubuntu.com/p/Y73FRVqq2n/

Full build log:
https://ci.appveyor.com/project/Mudlet/mudlet/builds/26199708

What's the correct solution here?
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest