qt5.cr
qt5.cr copied to clipboard
Building Qt 5.12 bindings on Debian 9
While 5.13 works, 5.12 results in 2 errors:
- qt-everywhere-src-5.12.0/qtbase/src/corelib/global/qrandom.cpp:455:62: error: no matching function for call to ‘std::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>::mersenne_twister_engine(QRandomGenerator::SystemGenerator&)’ 455 | new (&rng->storage.engine()) RandomEngine(self()->sys);
In file included from /usr/include/c++/9/random:49, from download_cache/qt-everywhere-src-5.12.0/qtbase/src/corelib/global/qrandom.h:45, from download_cache/qt-everywhere-src-5.12.0/qtbase/src/corelib/global/qrandom.cpp:43: /usr/include/c++/9/bits/random.h:530:9: note: candidate: ‘template<class _Sseq, class> std::mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>::mersenne_twister_engine(_Sseq&)’ 530 | mersenne_twister_engine(_Sseq& __q)
- /usr/include/c++/9/bits/random.h:491:8: required by substitution of ‘template<class _UIntType, long unsigned int __w, long unsigned int __n, long unsigned int __m, long unsigned int __r, _UIntType __a, long unsigned int __u, _UIntType __d, long unsigned int __s, _UIntType __b, long unsigned int __t, _UIntType __c, long unsigned int __l, _UIntType __f> template<class _Sseq> using _If_seed_seq = typename std::enable_if<std::__detail::__is_seed_seq<_Sseq, std::mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>, _UIntType>::value>::type [with _Sseq = QRandomGenerator::SystemGenerator; _UIntType = unsigned int; long unsigned int __w = 32; long unsigned int __n = 624; long unsigned int __m = 397; long unsigned int __r = 31; _UIntType __a = 2567483615; long unsigned int __u = 11; _UIntType __d = 4294967295; long unsigned int __s = 7; _UIntType __b = 2636928640; long unsigned int __t = 15; _UIntType __c = 4022730752; long unsigned int __l = 18; _UIntType __f = 1812433253]’ /usr/include/c++/9/bits/random.h:528:32: required from here /usr/include/c++/9/bits/random.h:197:13: error: no type named ‘result_type’ in ‘struct QRandomGenerator::SystemGenerator’ 197 | using __is_seed_seq = _and<
I tested with 5.12.8 instead of 5.12.0 and it compiles. This means we'll need to add support into support/generate_bindings.cr for using specific minor versions instead of defaulting to 0.