[Development] Visual C++ 2013 binaries

Hausmann Simon Simon.Hausmann at digia.com
Sat Oct 19 17:17:23 CEST 2013


Looks good to me. (although I would prefer the more descriptive Qt msvc version macros‎)

Can you submit this to gerrit stable branch and Cc me?

Simon

Fra: Yuchen Deng
Sendt: 15:37 lørdag 19. oktober 2013
Til: Peter Kuemmel
Kopi: development at qt-project.org
Emne: Re: [Development] Visual C++ 2013 binaries


It's can be fixed by this patch.

From d15fbb867f0b0041bd74297792ddac0e00b898fe Mon Sep 17 00:00:00 2001
From: Yuchen Deng <loaden at gmail.com<mailto:loaden at gmail.com>>
Date: Sat, 19 Oct 2013 11:55:20 +0800
Subject: [PATCH] Fix MSVC2013 compilation

---
 src/3rdparty/masm/wtf/MathExtras.h | 2 ++
 src/qml/jsruntime/qv4global_p.h    | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/3rdparty/masm/wtf/MathExtras.h b/src/3rdparty/masm/wtf/MathExtras.h
index b08ee67..600a9c7 100644
--- a/src/3rdparty/masm/wtf/MathExtras.h
+++ b/src/3rdparty/masm/wtf/MathExtras.h
@@ -123,6 +123,7 @@ inline bool signbit(double x) { struct ieee_double *p = (struct ieee_double *)&x

 #if COMPILER(MSVC)

+#if _MSC_VER < 1800
 // We must not do 'num + 0.5' or 'num - 0.5' because they can cause precision loss.
 static double round(double num)
 {
@@ -138,6 +139,7 @@ static float roundf(float num)
         return integer - num > 0.5f ? integer - 1.0f : integer;
     return integer - num >= 0.5f ? integer - 1.0f : integer;
 }
+#endif
 inline long long llround(double num) { return static_cast<long long>(round(num)); }
 inline long long llroundf(float num) { return static_cast<long long>(roundf(num)); }
 inline long lround(double num) { return static_cast<long>(round(num)); }
diff --git a/src/qml/jsruntime/qv4global_p.h b/src/qml/jsruntime/qv4global_p.h
index 3569247..f96a48d 100644
--- a/src/qml/jsruntime/qv4global_p.h
+++ b/src/qml/jsruntime/qv4global_p.h
@@ -55,7 +55,9 @@ namespace std {
 inline bool isinf(double d) { return !_finite(d) && !_isnan(d); }
 inline bool isnan(double d) { return !!_isnan(d); }
 inline bool isfinite(double d) { return _finite(d); }
+#if _MSC_VER < 1800
 inline bool signbit(double d) { return _copysign(1.0, d) < 0; }
+#endif

 } // namespace std

--
1.8.4.msysgit.0



2013/10/19 Peter Kuemmel <syntheticpp at gmx.net<mailto:syntheticpp at gmx.net>>
MSVC 2013 now supports ISO C11 language features (also breaks Qt4 ATM).

Gesendet: Samstag, 19. Oktober 2013 um 14:54 Uhr
Von: "Nagy-Egri Máté Ferenc" <nagymatef at freemail.hu<mailto:nagymatef at freemail.hu>>
An: "development at qt-project.org<mailto:development at qt-project.org>" <development at qt-project.org<mailto:development at qt-project.org>>
Betreff: Re: [Development] Visual C++ 2013 binaries
I have tried to build Qt 5.0 alpha with Visual Studio 2013 RTM and I got the following errors:

c:\qt-src\qtdeclarative\src\qml\jsruntime\qv4global_p.h(58) : error C2883: 'std::signbit' : function declaration conflicts with 'signbit' introduced by using-declaration (util\qqmladaptormodel.cpp)
        C:\Kellekek\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(324) : see declaration of 'signbit'
c:\qt-src\qtdeclarative\src\qml\jsruntime\qv4global_p.h(58) : error C2084: function 'bool signbit(double)' already has a body (util\qqmladaptormodel.cpp)
        C:\Kellekek\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(324) : see previous definition of 'signbit'
c:\qt-src\qtdeclarative\src\qml\jsruntime\qv4global_p.h(58) : error C2883: 'std::signbit' : function declaration conflicts with 'signbit' introduced by using-declaration (util\qqmllistaccessor.cpp)
        C:\Kellekek\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(324) : see declaration of 'signbit'
c:\qt-src\qtdeclarative\src\qml\jsruntime\qv4global_p.h(58) : error C2084: function 'bool signbit(double)' already has a body (util\qqmllistaccessor.cpp)
        C:\Kellekek\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(324) : see previous definition of 'signbit'
qqmlpropertymap.cpp
NMAKE : fatal error U1077: '"C:\Kellekek\Microsoft Visual Studio 12.0\VC\BIN\amd64\cl.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Kellekek\Microsoft Visual Studio 12.0\VC\BIN\amd64\nmake.exe"' : return code '0x2'

Seems as if some declarations made to compensate for lack of STL conformance on VS2012 are no longer needed. I have encountered trivial functions missing from VS2012 STL as well. Some of these whould be revisited.

Configuration is:

configure.bat -platform win32-msvc2013 -opensource -debug-and-release -c++11 -mp -opengl desktop -nomake examples -prefix C:\Kellekek\Qt\5.2-alpha -bindir C:\Kellekek\Qt\5.2-alpha\bin\x64 -libdir C:\Kellekek\Qt\5.2-alpha\lib\x64

Regards,
Máté


Feladó: Yves Bailly<http://yves.bailly@laposte.net>
Elküldve: péntek, 2013. október 18. 20:50
Címzett: development at qt-project.org<http://development@qt-project.org>

On 18/10/2013 17:23, Thiago Macieira wrote:
> On sexta-feira, 18 de outubro de 2013 08:23:35, Yves Bailly wrote:
>> Greetings all,
>>
>> As most already probably know, Visual C++ 2013 is out.
>>
>> While it's most probably too late for the upcoming Qt 5.2, are there
>> any plan to provided binaries from Visual 2013 in the future? For
>> Qt 5.2.1, 5.2.2... or later?
>>
>> This information can have a significant impact on our planning here.
>
> Please note that before we produce binaries, we need to make sure Qt compiles
> with that compiler. There will be no official binaries or official support until
> this commit goes through:
>
> https://codereview.qt-project.org/65262

Of course, that's obvious :-)

> Which means we need at least one person to apply and confirm Qt still builds.
>
> I tried installing VS2013 yesterday and it locked up my Windows 8. Three times
> in a row.

Seems a good first release... *sigh*

I'll do my best to take the time to try it on monday.

Regards,

--
(o< | Yves Bailly                          | -o)
//\ | Linux Dijon  : http://www.coagul.org | //\
\_/ |                                      | \_/`
_______________________________________________
Development mailing list
Development at qt-project.org<mailto:Development at qt-project.org>
http://lists.qt-project.org/mailman/listinfo/development


_______________________________________________
Development mailing list
Development at qt-project.org<mailto:Development at qt-project.org>
http://lists.qt-project.org/mailman/listinfo/development




--
Best Regards
Yuchen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20131019/4d0e903d/attachment.html>


More information about the Development mailing list