Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Qml minimal not compile on mingw32, qt5.15.2 #640

Closed
Kuraga13 opened this issue Jul 29, 2023 · 20 comments
Closed

Qml minimal not compile on mingw32, qt5.15.2 #640

Kuraga13 opened this issue Jul 29, 2023 · 20 comments
Labels
🪲 bug Something isn't working 🔨 build system Issues related to integrating CXX-Qt into CMake/Cargo

Comments

@Kuraga13
Copy link

Msvc2019 (32bit) qt 5.15.2 is building & running ok.
But build with min_gw32 ( of course (changed path, rustup toolchain, kit cmake and checked everything) failed.

warning: Could not open C:/qt_from_qtsite/5.15.2/mingw81_32/lib/libQt5Core.prl file to read libraries to link: (os error 2)   

I didn't find such library in qt 5.15.2/lib

Rust toolchain:
stable-i686-pc-windows-gnu (default)
rustc 1.71.0 (8ede3aae2 2023-07-12)
QT:
Using Qt version 5.15.2 in C:/qt_from_qtsite/5.15.2/mingw81_32/
Cmake:
3.27.0, kit installed on mingw32 to qt directory

The following warnings were emitted during compilation:

warning: Could not open C:/qt_from_qtsite/5.15.2/mingw81_32/lib/libQt5Core.prl file to read libraries to link: (os error 2)    
warning: Could not open C:/qt_from_qtsite/5.15.2/mingw81_32/lib/libQt5Gui.prl file to read libraries to link: (os error 2)     
warning: Could not open C:/qt_from_qtsite/5.15.2/mingw81_32/lib/libQt5Qml.prl file to read libraries to link: (os error 2)     
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qbytearray.rs.cc:1:0:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:16:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
warning:  struct rust::IsRelocatable<QByteArray> : ::std::true_type
warning:               ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:13:0,
warning:                  from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qbytearray.rs.cc:1:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
warning:  struct IsRelocatable;
warning:         ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qcoreapplication.rs.cc:1:0:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:16:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
warning:  struct rust::IsRelocatable<QByteArray> : ::std::true_type
warning:               ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:13:0,
warning:                  from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qcoreapplication.rs.cc:1:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
warning:  struct IsRelocatable;
warning:         ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_i32_qbytearray.rs.cc:1:0:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:16:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
warning:  struct rust::IsRelocatable<QByteArray> : ::std::true_type
warning:               ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:13:0,
warning:                  from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_i32_qbytearray.rs.cc:1:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
warning:  struct IsRelocatable;
warning:         ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qdate.rs.cc:2:0:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qstring.h:18:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
warning:  struct rust::IsRelocatable<QString> : ::std::true_type
warning:               ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qstring.h:15:0,
warning:                  from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qdate.rs.cc:2:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
warning:  struct IsRelocatable;
warning:         ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qcoreapplication.rs.cc:2:0:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qstring.h:18:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
warning:  struct rust::IsRelocatable<QString> : ::std::true_type
warning:               ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:13:0,
warning:                  from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qcoreapplication.rs.cc:1:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
warning:  struct IsRelocatable;
warning:         ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qcoreapplication.rs.cc:3:0:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qstringlist.h:16:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
warning:  struct rust::IsRelocatable<QStringList> : ::std::true_type
warning:               ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:13:0,
warning:                  from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qcoreapplication.rs.cc:1:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
warning:  struct IsRelocatable;
warning:         ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_i32_qbytearray.rs.cc:2:0:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qhash.h:21:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
warning:  struct rust::IsRelocatable<QHash<K, V>> : ::std::true_type
warning:               ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:13:0,
warning:                  from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_i32_qbytearray.rs.cc:1:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
warning:  struct IsRelocatable;
warning:         ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qcoreapplication.rs.cc:4:0:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qvector.h:43:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
warning:  struct rust::IsRelocatable<QVector<T>> : ::std::true_type
warning:               ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:13:0,
warning:                  from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qcoreapplication.rs.cc:1:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
warning:  struct IsRelocatable;
warning:         ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_qstring_qvariant.rs.cc:1:0:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qstring.h:18:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
warning:  struct rust::IsRelocatable<QString> : ::std::true_type
warning:               ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qstring.h:15:0,
warning:                  from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_qstring_qvariant.rs.cc:1:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
warning:  struct IsRelocatable;
warning:         ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_qstring_qvariant.rs.cc:2:0:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qvariant.h:37:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
warning:  struct rust::IsRelocatable<QVariant> : ::std::true_type
warning:               ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qstring.h:15:0,
warning:                  from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_qstring_qvariant.rs.cc:1:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
warning:  struct IsRelocatable;
warning:         ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_qstring_qvariant.rs.cc:3:0:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qhash.h:21:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
warning:  struct rust::IsRelocatable<QHash<K, V>> : ::std::true_type
warning:               ^
warning: In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qstring.h:15:0,
warning:                  from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_qstring_qvariant.rs.cc:1:
warning: C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
warning:  struct IsRelocatable;
warning:         ^

error: failed to run custom build command for `cxx-qt-lib v0.5.3 (C:\Users\askha\Desktop\rust_qt\cxx-qt-1\crates\cxx-qt-lib)`

Caused by:
  process didn't exit successfully: `C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-cc17188b7c7a6a83\build-script-build` (exit code: 1)  
  --- stdout
  cargo:rerun-if-env-changed=QMAKE
  cargo:rerun-if-env-changed=QT_VERSION_MAJOR
  cargo:rustc-cfg=qt_version_major="5"
  cargo:rerun-if-changed=src/core/qbytearray.rs
  cargo:rerun-if-changed=src/core/qcoreapplication.rs
  cargo:rerun-if-changed=src/core/qdate.rs
  cargo:rerun-if-changed=src/core/qhash/qhash_i32_qbytearray.rs
  cargo:rerun-if-changed=src/core/qhash/qhash_qstring_qvariant.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_bool.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_f32.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_f64.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_i8.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_i16.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_i32.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_i64.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qbytearray.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qdate.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qmargins.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qmarginsf.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qpersistentmodelindex.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qpoint.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qpointf.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qrect.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qrectf.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qsize.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qsizef.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qstring.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qtime.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qurl.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qvariant.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_u8.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_u16.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_u32.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_u64.rs
  cargo:rerun-if-changed=src/core/qmap/qmap_qstring_qvariant.rs
  cargo:rerun-if-changed=src/core/qmargins.rs
  cargo:rerun-if-changed=src/core/qmarginsf.rs
  cargo:rerun-if-changed=src/core/qmetaobjectconnection.rs
  cargo:rerun-if-changed=src/core/qmodelindex.rs
  cargo:rerun-if-changed=src/core/qpersistentmodelindex.rs
  cargo:rerun-if-changed=src/core/qpoint.rs
  cargo:rerun-if-changed=src/core/qpointf.rs
  cargo:rerun-if-changed=src/core/qrect.rs
  cargo:rerun-if-changed=src/core/qrectf.rs
  cargo:rerun-if-changed=src/core/qset/qset_bool.rs
  cargo:rerun-if-changed=src/core/qset/qset_f32.rs
  cargo:rerun-if-changed=src/core/qset/qset_f64.rs
  cargo:rerun-if-changed=src/core/qset/qset_i8.rs
  cargo:rerun-if-changed=src/core/qset/qset_i16.rs
  cargo:rerun-if-changed=src/core/qset/qset_i32.rs
  cargo:rerun-if-changed=src/core/qset/qset_i64.rs
  cargo:rerun-if-changed=src/core/qset/qset_qbytearray.rs
  cargo:rerun-if-changed=src/core/qset/qset_qdate.rs
  cargo:rerun-if-changed=src/core/qset/qset_qpersistentmodelindex.rs
  cargo:rerun-if-changed=src/core/qset/qset_qstring.rs
  cargo:rerun-if-changed=src/core/qset/qset_qtime.rs
  cargo:rerun-if-changed=src/core/qset/qset_qurl.rs
  cargo:rerun-if-changed=src/core/qset/qset_u8.rs
  cargo:rerun-if-changed=src/core/qset/qset_u16.rs
  cargo:rerun-if-changed=src/core/qset/qset_u32.rs
  cargo:rerun-if-changed=src/core/qset/qset_u64.rs
  cargo:rerun-if-changed=src/core/qsize.rs
  cargo:rerun-if-changed=src/core/qsizef.rs
  cargo:rerun-if-changed=src/core/qstring.rs
  cargo:rerun-if-changed=src/core/qstringlist.rs
  cargo:rerun-if-changed=src/core/qt.rs
  cargo:rerun-if-changed=src/core/qtime.rs
  cargo:rerun-if-changed=src/core/qurl.rs
  cargo:rerun-if-changed=src/core/qvariant/mod.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_bool.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_f32.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_f64.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_i8.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_i16.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_i32.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_i64.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_qbytearray.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_qdate.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_qmodelindex.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_qpersistentmodelindex.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_qpoint.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_qpointf.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_qrect.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_qrectf.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_qsize.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_qsizef.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_qstring.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_qstringlist.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_qtime.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_qurl.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_u8.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_u16.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_u32.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_u64.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_bool.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_f32.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_f64.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_i8.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_i16.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_i32.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_i64.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qbytearray.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qdate.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qmargins.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qmarginsf.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qpersistentmodelindex.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qpoint.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qpointf.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qrect.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qrectf.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qsize.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qsizef.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qstring.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qtime.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qurl.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qvariant.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_u8.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_u16.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_u32.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_u64.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qcolor.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_qcolor.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qcolor.rs
  cargo:rerun-if-changed=src/gui/qcolor.rs
  cargo:rerun-if-changed=src/gui/qguiapplication.rs
  cargo:rerun-if-changed=src/gui/qvector2d.rs
  cargo:rerun-if-changed=src/gui/qvector3d.rs
  cargo:rerun-if-changed=src/gui/qvector4d.rs
  cargo:rerun-if-changed=src/qml/qqmlapplicationengine.rs
  cargo:rerun-if-changed=src/qml/qqmlengine.rs
  cargo:rerun-if-changed=src/core/qdatetime.rs
  cargo:rerun-if-changed=src/core/qtimezone.rs
  cargo:rerun-if-changed=src/core/qlist/qlist_qdatetime.rs
  cargo:rerun-if-changed=src/core/qset/qset_qdatetime.rs
  cargo:rerun-if-changed=src/core/qvariant/qvariant_qdatetime.rs
  cargo:rerun-if-changed=src/core/qvector/qvector_qdatetime.rs
  cargo:CXXBRIDGE_PREFIX=cxx-qt-lib
  cargo:CXXBRIDGE_LINKS=cxx-qt-lib
  cargo:CXXBRIDGE_DIR0=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include
  cargo:CXXBRIDGE_DIR1=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\crate
  cargo:CXXBRIDGE_DIR2=C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtCore
  cargo:CXXBRIDGE_DIR3=C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtGui
  cargo:CXXBRIDGE_DIR4=C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtQml
  cargo:CXXBRIDGE_DIR5=C:/qt_from_qtsite/5.15.2/mingw81_32/include
  cargo:rustc-link-search=C:/qt_from_qtsite/5.15.2/mingw81_32/lib
  cargo:rustc-link-lib=Qt5Core
  cargo:warning=Could not open C:/qt_from_qtsite/5.15.2/mingw81_32/lib/libQt5Core.prl file to read libraries to link: Не удается найти указанный файл. (os error 2)
  cargo:rustc-link-lib=Qt5Gui
  cargo:warning=Could not open C:/qt_from_qtsite/5.15.2/mingw81_32/lib/libQt5Gui.prl file to read libraries to link: Не удается найти указанный файл. (os error 2)
  cargo:rustc-link-lib=Qt5Qml
  cargo:warning=Could not open C:/qt_from_qtsite/5.15.2/mingw81_32/lib/libQt5Qml.prl file to read libraries to link: Не удается найти указанный файл. (os error 2)
  cargo:rerun-if-changed=src/core/qbytearray.cpp
  cargo:rerun-if-changed=src/core/qcoreapplication.cpp
  cargo:rerun-if-changed=src/core/qdate.cpp
  cargo:rerun-if-changed=src/core/qhash/qhash.cpp
  cargo:rerun-if-changed=src/core/qlist/qlist.cpp
  cargo:rerun-if-changed=src/core/qmap/qmap.cpp
  cargo:rerun-if-changed=src/core/qmargins.cpp
  cargo:rerun-if-changed=src/core/qmarginsf.cpp
  cargo:rerun-if-changed=src/core/qmetaobjectconnection.cpp
  cargo:rerun-if-changed=src/core/qmodelindex.cpp
  cargo:rerun-if-changed=src/core/qpersistentmodelindex.cpp
  cargo:rerun-if-changed=src/core/qpoint.cpp
  cargo:rerun-if-changed=src/core/qpointf.cpp
  cargo:rerun-if-changed=src/core/qrect.cpp
  cargo:rerun-if-changed=src/core/qrectf.cpp
  cargo:rerun-if-changed=src/core/qset/qset.cpp
  cargo:rerun-if-changed=src/core/qsize.cpp
  cargo:rerun-if-changed=src/core/qsizef.cpp
  cargo:rerun-if-changed=src/core/qstring.cpp
  cargo:rerun-if-changed=src/core/qstringlist.cpp
  cargo:rerun-if-changed=src/core/qtime.cpp
  cargo:rerun-if-changed=src/core/qurl.cpp
  cargo:rerun-if-changed=src/core/qvariant/qvariant.cpp
  cargo:rerun-if-changed=src/core/qvector/qvector.cpp
  cargo:rerun-if-changed=src/gui/qcolor.cpp
  cargo:rerun-if-changed=src/gui/qguiapplication.cpp
  cargo:rerun-if-changed=src/gui/qvector2d.cpp
  cargo:rerun-if-changed=src/gui/qvector3d.cpp
  cargo:rerun-if-changed=src/gui/qvector4d.cpp
  cargo:rerun-if-changed=src/qml/qqmlapplicationengine.cpp
  cargo:rerun-if-changed=src/qml/qqmlengine.cpp
  cargo:rerun-if-changed=src/core/qdatetime.cpp
  cargo:rerun-if-changed=src/core/qtimezone.cpp
  cargo:rerun-if-changed=src/qt_types.cpp
  cargo:rerun-if-changed=src/assertion_utils.h
  TARGET = Some("i686-pc-windows-gnu")
  OPT_LEVEL = Some("0")
  HOST = Some("i686-pc-windows-gnu")
  cargo:rerun-if-env-changed=CXX_i686-pc-windows-gnu
  CXX_i686-pc-windows-gnu = None
  cargo:rerun-if-env-changed=CXX_i686_pc_windows_gnu
  CXX_i686_pc_windows_gnu = None
  cargo:rerun-if-env-changed=HOST_CXX
  HOST_CXX = None
  cargo:rerun-if-env-changed=CXX
  CXX = None
  cargo:rerun-if-env-changed=CXXFLAGS_i686-pc-windows-gnu
  CXXFLAGS_i686-pc-windows-gnu = None
  cargo:rerun-if-env-changed=CXXFLAGS_i686_pc_windows_gnu
  CXXFLAGS_i686_pc_windows_gnu = None
  cargo:rerun-if-env-changed=HOST_CXXFLAGS
  HOST_CXXFLAGS = None
  cargo:rerun-if-env-changed=CXXFLAGS
  CXXFLAGS = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  cargo:rerun-if-env-changed=CXX_i686-pc-windows-gnu
  CXX_i686-pc-windows-gnu = None
  cargo:rerun-if-env-changed=CXX_i686_pc_windows_gnu
  CXX_i686_pc_windows_gnu = None
  cargo:rerun-if-env-changed=HOST_CXX
  HOST_CXX = None
  cargo:rerun-if-env-changed=CXX
  CXX = None
  cargo:rerun-if-env-changed=CXXFLAGS_i686-pc-windows-gnu
  CXXFLAGS_i686-pc-windows-gnu = None
  cargo:rerun-if-env-changed=CXXFLAGS_i686_pc_windows_gnu
  CXXFLAGS_i686_pc_windows_gnu = None
  cargo:rerun-if-env-changed=HOST_CXXFLAGS
  HOST_CXXFLAGS = None
  cargo:rerun-if-env-changed=CXXFLAGS
  CXXFLAGS = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  cargo:rerun-if-env-changed=CXX_i686-pc-windows-gnu
  CXX_i686-pc-windows-gnu = None
  cargo:rerun-if-env-changed=CXX_i686_pc_windows_gnu
  CXX_i686_pc_windows_gnu = None
  cargo:rerun-if-env-changed=HOST_CXX
  HOST_CXX = None
  cargo:rerun-if-env-changed=CXX
  CXX = None
  cargo:rerun-if-env-changed=CXXFLAGS_i686-pc-windows-gnu
  CXXFLAGS_i686-pc-windows-gnu = None
  cargo:rerun-if-env-changed=CXXFLAGS_i686_pc_windows_gnu
  CXXFLAGS_i686_pc_windows_gnu = None
  cargo:rerun-if-env-changed=HOST_CXXFLAGS
  HOST_CXXFLAGS = None
  cargo:rerun-if-env-changed=CXXFLAGS
  CXXFLAGS = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  cargo:rerun-if-env-changed=CXX_i686-pc-windows-gnu
  CXX_i686-pc-windows-gnu = None
  cargo:rerun-if-env-changed=CXX_i686_pc_windows_gnu
  CXX_i686_pc_windows_gnu = None
  cargo:rerun-if-env-changed=HOST_CXX
  HOST_CXX = None
  cargo:rerun-if-env-changed=CXX
  CXX = None
  cargo:rerun-if-env-changed=CXXFLAGS_i686-pc-windows-gnu
  CXXFLAGS_i686-pc-windows-gnu = None
  cargo:rerun-if-env-changed=CXXFLAGS_i686_pc_windows_gnu
  CXXFLAGS_i686_pc_windows_gnu = None
  cargo:rerun-if-env-changed=HOST_CXXFLAGS
  HOST_CXXFLAGS = None
  cargo:rerun-if-env-changed=CXXFLAGS
  CXXFLAGS = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  cargo:rerun-if-env-changed=CXX_i686-pc-windows-gnu
  CXX_i686-pc-windows-gnu = None
  cargo:rerun-if-env-changed=CXX_i686_pc_windows_gnu
  CXX_i686_pc_windows_gnu = None
  cargo:rerun-if-env-changed=HOST_CXX
  HOST_CXX = None
  cargo:rerun-if-env-changed=CXX
  CXX = None
  cargo:rerun-if-env-changed=CXXFLAGS_i686-pc-windows-gnu
  CXXFLAGS_i686-pc-windows-gnu = None
  cargo:rerun-if-env-changed=CXXFLAGS_i686_pc_windows_gnu
  CXXFLAGS_i686_pc_windows_gnu = None
  cargo:rerun-if-env-changed=HOST_CXXFLAGS
  HOST_CXXFLAGS = None
  cargo:rerun-if-env-changed=CXXFLAGS
  CXXFLAGS = None
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  running: "g++.exe" "-O0" "-ffunction-sections" "-fdata-sections" "-gdwarf-2" "-fno-omit-frame-pointer" "-m32" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\include" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\crate" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtCore" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtGui" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtQml" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out" "-Wall" "-Wextra" "-std=c++17" "-DCXX_QT_GUI_FEATURE" "-DCXX_QT_QML_FEATURE" "-o" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\139ff61a69c2766c-qbytearray.rs.o" "-c" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\sources\\cxx-qt-lib\\src\\core\\qbytearray.rs.cc"
  running: "g++.exe" "-O0" "-ffunction-sections" "-fdata-sections" "-gdwarf-2" "-fno-omit-frame-pointer" "-m32" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\include" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\crate" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtCore" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtGui" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtQml" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out" "-Wall" "-Wextra" "-std=c++17" "-DCXX_QT_GUI_FEATURE" "-DCXX_QT_QML_FEATURE" "-o" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\139ff61a69c2766c-qcoreapplication.rs.o" "-c" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\sources\\cxx-qt-lib\\src\\core\\qcoreapplication.rs.cc"
  running: "g++.exe" "-O0" "-ffunction-sections" "-fdata-sections" "-gdwarf-2" "-fno-omit-frame-pointer" "-m32" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\include" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\crate" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtCore" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtGui" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtQml" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out" "-Wall" "-Wextra" "-std=c++17" "-DCXX_QT_GUI_FEATURE" "-DCXX_QT_QML_FEATURE" "-o" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\386ab25e23885101-qhash_i32_qbytearray.rs.o" "-c" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\sources\\cxx-qt-lib\\src\\core\\qhash\\qhash_i32_qbytearray.rs.cc"
  running: "g++.exe" "-O0" "-ffunction-sections" "-fdata-sections" "-gdwarf-2" "-fno-omit-frame-pointer" "-m32" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\include" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\crate" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtCore" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtGui" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtQml" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out" "-Wall" "-Wextra" "-std=c++17" "-DCXX_QT_GUI_FEATURE" "-DCXX_QT_QML_FEATURE" "-o" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\139ff61a69c2766c-qdate.rs.o" "-c" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\sources\\cxx-qt-lib\\src\\core\\qdate.rs.cc"
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qbytearray.rs.cc:1:0:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:16:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
  cargo:warning= struct rust::IsRelocatable<QByteArray> : ::std::true_type
  cargo:warning=              ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:13:0,  
  cargo:warning=                 from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qbytearray.rs.cc:1:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
  cargo:warning= struct IsRelocatable;
  cargo:warning=        ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qcoreapplication.rs.cc:1:0:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:16:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
  cargo:warning= struct rust::IsRelocatable<QByteArray> : ::std::true_type
  cargo:warning=              ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:13:0,  
  cargo:warning=                 from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qcoreapplication.rs.cc:1:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
  cargo:warning= struct IsRelocatable;
  cargo:warning=        ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_i32_qbytearray.rs.cc:1:0:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:16:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
  cargo:warning= struct rust::IsRelocatable<QByteArray> : ::std::true_type
  cargo:warning=              ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:13:0,  
  cargo:warning=                 from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_i32_qbytearray.rs.cc:1:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
  cargo:warning= struct IsRelocatable;
  cargo:warning=        ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qdate.rs.cc:2:0:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qstring.h:18:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
  cargo:warning= struct rust::IsRelocatable<QString> : ::std::true_type
  cargo:warning=              ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qstring.h:15:0,     
  cargo:warning=                 from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qdate.rs.cc:2:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
  cargo:warning= struct IsRelocatable;
  cargo:warning=        ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qcoreapplication.rs.cc:2:0:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qstring.h:18:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
  cargo:warning= struct rust::IsRelocatable<QString> : ::std::true_type
  cargo:warning=              ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:13:0,  
  cargo:warning=                 from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qcoreapplication.rs.cc:1:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
  cargo:warning= struct IsRelocatable;
  cargo:warning=        ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qcoreapplication.rs.cc:3:0:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qstringlist.h:16:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
  cargo:warning= struct rust::IsRelocatable<QStringList> : ::std::true_type
  cargo:warning=              ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:13:0,  
  cargo:warning=                 from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qcoreapplication.rs.cc:1:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
  cargo:warning= struct IsRelocatable;
  cargo:warning=        ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_i32_qbytearray.rs.cc:2:0:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qhash.h:21:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
  cargo:warning= struct rust::IsRelocatable<QHash<K, V>> : ::std::true_type
  cargo:warning=              ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:13:0,  
  cargo:warning=                 from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_i32_qbytearray.rs.cc:1:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
  cargo:warning= struct IsRelocatable;
  cargo:warning=        ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qcoreapplication.rs.cc:4:0:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qvector.h:43:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
  cargo:warning= struct rust::IsRelocatable<QVector<T>> : ::std::true_type
  cargo:warning=              ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qbytearray.h:13:0,  
  cargo:warning=                 from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qcoreapplication.rs.cc:1:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
  cargo:warning= struct IsRelocatable;
  cargo:warning=        ^
  exit code: 1
  exit code: 1
  running: "g++.exe" "-O0" "-ffunction-sections" "-fdata-sections" "-gdwarf-2" "-fno-omit-frame-pointer" "-m32" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\include" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\crate" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtCore" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtGui" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtQml" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out" "-Wall" "-Wextra" "-std=c++17" "-DCXX_QT_GUI_FEATURE" "-DCXX_QT_QML_FEATURE" "-o" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\386ab25e23885101-qhash_qstring_qvariant.rs.o" "-c" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\sources\\cxx-qt-lib\\src\\core\\qhash\\qhash_qstring_qvariant.rs.cc"     
  exit code: 1
  exit code: 1
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_qstring_qvariant.rs.cc:1:0:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qstring.h:18:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
  cargo:warning= struct rust::IsRelocatable<QString> : ::std::true_type
  cargo:warning=              ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qstring.h:15:0,     
  cargo:warning=                 from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_qstring_qvariant.rs.cc:1:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
  cargo:warning= struct IsRelocatable;
  cargo:warning=        ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_qstring_qvariant.rs.cc:2:0:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qvariant.h:37:14: error: specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace [-fpermissive]
  cargo:warning= struct rust::IsRelocatable<QVariant> : ::std::true_type
  cargo:warning=              ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out/cxx-qt-lib/qstring.h:15:0,     
  cargo:warning=                 from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\src\core\qhash\qhash_qstring_qvariant.rs.cc:1:
  cargo:warning=C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]
  cargo:warning= struct IsRelocatable;
  cargo:warning=        ^
  cargo:warning=In file included from C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\sources\cxx-qt-lib\sr215e2bf818644\out\cxxbridge\include/rust/cxx.h:453:8: error:   from definition of 'template<class T> struct rust::cxxbridge1::IsRelocatable' [-fpermissive]     
  cargo:warning= struct IsRelocatable;
  cargo:warning=        ^
  exit code: 1

  --- stderr

  CXX include path:
    C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\include
    C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-612215e2bf818644\out\cxxbridge\crate
    C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtCore
    C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtGui
    C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtQml
    C:/qt_from_qtsite/5.15.2/mingw81_32/include


  error occurred: Command "g++.exe" "-O0" "-ffunction-sections" "-fdata-sections" "-gdwarf-2" "-fno-omit-frame-pointer" "-m32" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\include" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\crate" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtCore" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtGui" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include/QtQml" "-I" "C:/qt_from_qtsite/5.15.2/mingw81_32/include" "-I" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out" "-Wall" "-Wextra" "-std=c++17" "-DCXX_QT_GUI_FEATURE" "-DCXX_QT_QML_FEATURE" "-o" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\139ff61a69c2766c-qbytearray.rs.o" "-c" "C:\\Users\\askha\\Desktop\\rust_qt\\cxx-qt-1\\target\\debug\\build\\cxx-qt-lib-612215e2bf818644\\out\\cxxbridge\\sources\\cxx-qt-lib\\src\\core\\qbytearray.rs.cc" with args "g++.exe" did not execute successfully (status code exit code: 1).

@jacquetc
Copy link
Contributor

Hello,

Others from KDAB will surely come and welcome properly, but I can say "Thank you for your help !"

In the meantime, could you give some precision ? Are you building cxx-qt from the latest commit on the main branch or are you using the 0.5.3 ? Did you build Qt yourself from source or was it coming from the Qt Installer ?

Some people are currently working on the proper detection/handling of Qt.

One detail is stucking out :

warning: Could not open C:/qt_from_qtsite/5.15.2/mingw81_32/lib/libQt5Core.prl file to read libraries to link: (os error 2)    

Indeed, there is no libQt5Core.prl In my official Qt installation (5.15.2. MinGW), but there is a 'Qt5Core.prl'

Worth a try : could try again with the latest from main branch ? I think that it was fixed since I didn't encounter this error from my side.

@Kuraga13
Copy link
Author

Kuraga13 commented Jul 29, 2023

Hello,
Thank you very much for your properly welcome, I apologize for not greeting in the first message. I just read the repository so many times between build attempts that it seems to me that I already said hello to everyone )

  1. cxx_qt loaded from repo, master branch, few days ago (0.5.3). I will try update it with latest commit & rebuild all.
  2. Qt from Qt Installer

If it doesn't make it difficult, it would be great to make sure that someone works with my kit, i.e. did anyone manage to build the project by connecting to qt 5.15.2/mingw81_32 + stable-i686-pc-windows-gnu/rustc 1.71.0, with host x64
? I need a 32 bit build.
I mean, it's maybe not supported at the moment, so we don't waste time trying to find the cause.

@ahayzen-kdab ahayzen-kdab added 🪲 bug Something isn't working 🔨 build system Issues related to integrating CXX-Qt into CMake/Cargo labels Jul 31, 2023
@ahayzen-kdab
Copy link
Collaborator

Thanks for taking the time to report this bug and improve CXX-Qt :-)

For now we only have tested MSVC2019 in CI so if you have that available you might want to use that (but note that there are issues with corrosion and Rust 1.71 corrosion-rs/corrosion#418 #609 so you'd need to bump to 0.4.2).

It would of course be great to get MinGW going so any information to help others figure out what is wrong with the build system would be appreciated :-)

Are you able to locate the prl files anywhere else on the filesystem ? As it would be good to know what the expected path should be.

And for the specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace that sounds like a GCC bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#374 I'll create a branch that does the workaround so you can try it out :-)

ahayzen-kdab added a commit to ahayzen-kdab/cxx-qt that referenced this issue Jul 31, 2023
…mespace

This works around issues such as below with MinGW81
specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace

Due to the following bug that was solved in GCC 7
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480
https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#374

Related to KDAB#640
@ahayzen-kdab
Copy link
Collaborator

@Kuraga13 If possible could you try building with the changes in #641 to see if that solves the specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace errors ?

Note that the prl issue still need investigating, unless using a later commit that 0.5.3 has solved that :-)

Be-ing pushed a commit that referenced this issue Jul 31, 2023
…mespace

This works around issues such as below with MinGW81
specialization of 'template<class T> struct rust::cxxbridge1::IsRelocatable' in different namespace

Due to the following bug that was solved in GCC 7
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480
https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#374

Related to #640
@Kuraga13
Copy link
Author

@ahayzen-kdab
thanks a lot for your reply and support.

  1. Regarding .prl : I found libQt5Core.prl, libQt5Gui.prl, libQt5Qml.prl only in kit msvc, they are not in mingw kit. Therefore, maybe under mingw something else is needed.
  2. I'll get to the mingw build computer later, update the local cxx_qt folder from master(?) and rebuild. I'll definitely let you know.
  3. Regarding corrosion : in any case, everything works for me on mscv. Update corrosion is quite confusing, I did this - removed if-block find_package(Corrosion QUIET) if(NOT Corrosion_FOUND) endif()
    CmakeLists.txt so that it loads version 4.2 for sure.
  4. A little offtopic - I saw your pull request #622, using QtWidget on cxx-qt would be great, really looking forward to it.

@Be-ing
Copy link
Contributor

Be-ing commented Jul 31, 2023

Indeed, there is no libQt5Core.prl In my official Qt installation (5.15.2. MinGW), but there is a 'Qt5Core.prl'

Hmm, that's interesting. Currently we only omit the lib prefix for MSVC targets, but we could also do that for MinGW targets:

let prefix = match &target {
Ok(target) => {
if target.contains("msvc") {
""
} else {
"lib"
}
}
Err(_) => "lib",
};

@Be-ing
Copy link
Contributor

Be-ing commented Jul 31, 2023

Regarding .prl : I found libQt5Core.prl, libQt5Gui.prl, libQt5Qml.prl only in kit msvc, they are not in mingw kit. Therefore, maybe under mingw something else is needed.

This is confusing. I would not expect the lib prefix for MSVC but would expect it for MinGW. Did you write this backwards?

@jacquetc
Copy link
Contributor

My 2 cents: It seems there are no rules for lib prefix or not in Qt. It would be confusing and hard to maintain all the rules and exceptions. Like I did for the frameworks in QtBuild, you can determine if there is a prefix or not to the .prl early in the workflow and adapt the rest.

@Be-ing
Copy link
Contributor

Be-ing commented Jul 31, 2023

If it is true that the lib prefix in the .prl file name may or may not be there for certain targets, then yes, we'd have to try both. I think it would be worth testing if the .prl files in Qt from vcpkg for MinGW include the lib prefix. If that turns out to be different from the Qt installer, we'll need to check if both files exist.

@jacquetc
Copy link
Contributor

VCPKG on Windows ARM : lib/Qt6Core.prl . Really not sure if it's built using MingGW or MSVC. I would bet on MinGW-W64 since MSYS2 is always downloaded by vcpkg for Qt

@Be-ing
Copy link
Contributor

Be-ing commented Jul 31, 2023

lib/Qt6Core.prl

I'm confused. Does / mean that there is a lib directory with a file Qt6Core.prl in it, or there is a libQt6Core.prl file?

@jacquetc
Copy link
Contributor

Ah, it was possibly confusing. Sorry. I meant a lib directory with a file Qt6Core.prl

Be-ing added a commit to Be-ing/cxx-qt that referenced this issue Jul 31, 2023
@Be-ing
Copy link
Contributor

Be-ing commented Jul 31, 2023

Can someone test building #643 with MinGW?

@Kuraga13
Copy link
Author

Kuraga13 commented Jul 31, 2023

Can someone test building #643 with MinGW?

I can do it late at night

@Kuraga13
Copy link
Author

Kuraga13 commented Jul 31, 2023

Output is big. I'll put in a part. Here in full :
output.txt

  1. On #643 , manual change "msvc" to "windows" as in PR, now looks like now all ok.
  2. On #641
warning: src/core/qbytearray.cpp:30:70: error: expected ',' before ')' token
warning:  static_assert(!::std::is_trivially_copy_assignable<QByteArray>::value);
warning:                                                                       ^
warning: src/core/qbytearray.cpp:30:70: error: expected string-literal before ')' token
warning: src/core/qbytearray.cpp:31:73: error: expected ',' before ')' token
warning:  static_assert(!::std::is_trivially_copy_constructible<QByteArray>::value);
warning:                                                                          ^
warning: src/core/qbytearray.cpp:31:73: error: expected string-literal before ')' token
warning: src/core/qbytearray.cpp:33:67: error: expected ',' before ')' token
warning:  static_assert(!::std::is_trivially_destructible<QByteArray>::value);
warning:                                                                    ^
warning: src/core/qbytearray.cpp:33:67: error: expected string-literal before ')' token
warning: src/core/qbytearray.cpp:35:51: error: expected ',' before ')' token
warning:  static_assert(QTypeInfo<QByteArray>::isRelocatable);
warning:                                             
       ^
warning: src/core/qbytearray.cpp:35:51: error: expected string-literal before ')' token
warning: src/core/qhash/qhash.cpp:16:70: error: expected ',' before ')' token
warning:      !::std::is_trivially_copy_assignable<QHash_##combinedName>::value);        \
warning:                                                                       ^
warning: src/core/qhash/qhash.cpp:29:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(QString, QVariant, QString_QVariant);
warning:  ^
warning: src/core/qhash/qhash.cpp:16:70: error: expected string-literal before ')' token
warning:      !::std::is_trivially_copy_assignable<QHash_##combinedName>::value);        \
warning:                                                                       ^
warning: src/core/qhash/qhash.cpp:29:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(QString, QVariant, QString_QVariant);
warning:  ^
warning: src/core/qhash/qhash.cpp:18:73: error: expected ',' before ')' token
warning:      !::std::is_trivially_copy_constructible<QHash_##combinedName>::value);     \
warning:                                                                          ^
warning: src/core/qhash/qhash.cpp:29:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(QString, QVariant, QString_QVariant);
warning:  ^
warning: src/core/qhash/qhash.cpp:18:73: error: expected string-literal before ')' token
warning:      !::std::is_trivially_copy_constructible<QHash_##combinedName>::value);     \
warning:                                                                          ^
warning: src/core/qhash/qhash.cpp:29:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(QString, QVariant, QString_QVariant);
warning:  ^
warning: src/core/qhash/qhash.cpp:20:67: error: expected ',' before ')' token
warning:      !::std::is_trivially_destructible<QHash_##combinedName>::value);           \
warning:                                                                    ^
warning: src/core/qhash/qhash.cpp:29:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(QString, QVariant, QString_QVariant);
warning:  ^
warning: src/core/qhash/qhash.cpp:20:67: error: expected string-literal before ')' token
warning:      !::std::is_trivially_destructible<QHash_##combinedName>::value);           \
warning:                                                                    ^
warning: src/core/qhash/qhash.cpp:29:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(QString, QVariant, QString_QVariant);
warning:  ^
warning: src/core/qhash/qhash.cpp:22:63: error: expected ',' before ')' token
warning:    static_assert(QTypeInfo<QHash_##combinedName>::isRelocatable);               \
warning:                                                                ^
warning: src/core/qhash/qhash.cpp:29:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(QString, QVariant, QString_QVariant);
warning:  ^
warning: src/core/qhash/qhash.cpp:22:63: error: expected string-literal before ')' token
warning:    static_assert(QTypeInfo<QHash_##combinedName>::isRelocatable);               \
warning:                                                                ^
warning: src/core/qhash/qhash.cpp:29:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(QString, QVariant, QString_QVariant);
warning:  ^
warning: src/core/qhash/qhash.cpp:24:62: error: expected ',' before ')' token
warning:    static_assert(::std::is_copy_assignable<keyTypeName>::value);                \
warning:                                                               ^
warning: src/core/qhash/qhash.cpp:29:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(QString, QVariant, QString_QVariant);
warning:  ^
warning: src/core/qhash/qhash.cpp:24:62: error: expected string-literal before ')' token
warning:    static_assert(::std::is_copy_assignable<keyTypeName>::value);                \
warning:                                                               ^
warning: src/core/qhash/qhash.cpp:29:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(QString, QVariant, QString_QVariant);
warning:  ^
warning: src/core/qhash/qhash.cpp:25:65: error: expected ',' before ')' token
warning:    static_assert(::std::is_copy_constructible<keyTypeName>::value);             \
warning:                                                                  ^
warning: src/core/qhash/qhash.cpp:29:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(QString, QVariant, QString_QVariant);
warning:  ^
warning: src/core/qhash/qhash.cpp:25:65: error: expected string-literal before ')' token
warning:    static_assert(::std::is_copy_constructible<keyTypeName>::value);             \
warning:                                                                  ^
warning: src/core/qhash/qhash.cpp:29:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(QString, QVariant, QString_QVariant);
warning:  ^
warning: src/core/qhash/qhash.cpp:26:64: error: expected ',' before ')' token
warning:    static_assert(::std::is_copy_assignable<valueTypeName>::value);              \
warning:                                                                 ^
warning: src/core/qhash/qhash.cpp:29:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(QString, QVariant, QString_QVariant);
warning:  ^
warning: src/core/qhash/qhash.cpp:26:64: error: expected string-literal before ')' token
warning:    static_assert(::std::is_copy_assignable<valueTypeName>::value);              \
warning:                                                                 ^
warning: src/core/qhash/qhash.cpp:29:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(QString, QVariant, QString_QVariant);
warning:  ^
warning: src/core/qhash/qhash.cpp:27:67: error: expected ',' before ')' token
warning:    static_assert(::std::is_copy_constructible<valueTypeName>::value);
warning:                                                                    ^
warning: src/core/qhash/qhash.cpp:29:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(QString, QVariant, QString_QVariant);
warning:  ^
warning: src/core/qhash/qhash.cpp:27:67: error: expected string-literal before ')' token
warning:    static_assert(::std::is_copy_constructible<valueTypeName>::value);
warning:                                                                    ^
warning: src/core/qhash/qhash.cpp:29:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(QString, QVariant, QString_QVariant);
warning:  ^
warning: src/core/qhash/qhash.cpp:16:70: error: expected ',' before ')' token
warning:      !::std::is_trivially_copy_assignable<QHash_##combinedName>::value);        \
warning:                                                                       ^
warning: src/core/qhash/qhash.cpp:30:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(::std::int32_t, QByteArray, i32_QByteArray);
warning:  ^
warning: src/core/qhash/qhash.cpp:16:70: error: expected string-literal before ')' token
warning:      !::std::is_trivially_copy_assignable<QHash_##combinedName>::value);        \
warning:                                                                       ^
warning: src/core/qhash/qhash.cpp:30:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(::std::int32_t, QByteArray, i32_QByteArray);
warning:  ^
warning: src/core/qhash/qhash.cpp:18:73: error: expected ',' before ')' token
warning:      !::std::is_trivially_copy_constructible<QHash_##combinedName>::value);     \
warning:                                                                          ^
warning: src/core/qhash/qhash.cpp:30:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(::std::int32_t, QByteArray, i32_QByteArray);
warning:  ^
warning: src/core/qhash/qhash.cpp:18:73: error: expected string-literal before ')' token
warning:      !::std::is_trivially_copy_constructible<QHash_##combinedName>::value);     \
warning:                                                                          ^
warning: src/core/qhash/qhash.cpp:30:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(::std::int32_t, QByteArray, i32_QByteArray);
warning:  ^
warning: src/core/qhash/qhash.cpp:20:67: error: expected ',' before ')' token
warning:      !::std::is_trivially_destructible<QHash_##combinedName>::value);           \
warning:                                                                    ^
warning: src/core/qhash/qhash.cpp:30:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(::std::int32_t, QByteArray, i32_QByteArray);
warning:  ^
warning: src/core/qhash/qhash.cpp:20:67: error: expected string-literal before ')' token
warning:      !::std::is_trivially_destructible<QHash_##combinedName>::value);           \
warning:                                                                    ^
warning: src/core/qhash/qhash.cpp:30:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(::std::int32_t, QByteArray, i32_QByteArray);
warning:  ^
warning: src/core/qhash/qhash.cpp:22:63: error: expected ',' before ')' token
warning:    static_assert(QTypeInfo<QHash_##combinedName>::isRelocatable);               \
warning:                                                                ^
warning: src/core/qhash/qhash.cpp:30:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(::std::int32_t, QByteArray, i32_QByteArray);
warning:  ^
warning: src/core/qhash/qhash.cpp:22:63: error: expected string-literal before ')' token
warning:    static_assert(QTypeInfo<QHash_##combinedName>::isRelocatable);               \
warning:                                                                ^
warning: src/core/qhash/qhash.cpp:30:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(::std::int32_t, QByteArray, i32_QByteArray);
warning:  ^
warning: src/core/qhash/qhash.cpp:24:62: error: expected ',' before ')' token
warning:    static_assert(::std::is_copy_assignable<keyTypeName>::value);                \
warning:                                                               ^
warning: src/core/qhash/qhash.cpp:30:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(::std::int32_t, QByteArray, i32_QByteArray);
warning:  ^
warning: src/core/qhash/qhash.cpp:24:62: error: expected string-literal before ')' token
warning:    static_assert(::std::is_copy_assignable<keyTypeName>::value);                \
warning:                                                               ^
warning: src/core/qhash/qhash.cpp:30:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(::std::int32_t, QByteArray, i32_QByteArray);
warning:  ^
warning: src/core/qhash/qhash.cpp:25:65: error: expected ',' before ')' token
warning:    static_assert(::std::is_copy_constructible<keyTypeName>::value);             \
warning:                                                                  ^
warning: src/core/qhash/qhash.cpp:30:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(::std::int32_t, QByteArray, i32_QByteArray);
warning:  ^
warning: src/core/qhash/qhash.cpp:25:65: error: expected string-literal before ')' token
warning:    static_assert(::std::is_copy_constructible<keyTypeName>::value);             \
warning:                                                                  ^
warning: src/core/qhash/qhash.cpp:30:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(::std::int32_t, QByteArray, i32_QByteArray);
warning:  ^
warning: src/core/qhash/qhash.cpp:26:64: error: expected ',' before ')' token
warning:    static_assert(::std::is_copy_assignable<valueTypeName>::value);              \
warning:                                                                 ^
warning: src/core/qhash/qhash.cpp:30:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(::std::int32_t, QByteArray, i32_QByteArray);
warning:  ^
warning: src/core/qhash/qhash.cpp:26:64: error: expected string-literal before ')' token
warning:    static_assert(::std::is_copy_assignable<valueTypeName>::value);              \
warning:                                                                 ^
warning: src/core/qhash/qhash.cpp:30:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(::std::int32_t, QByteArray, i32_QByteArray);
warning:  ^
warning: src/core/qhash/qhash.cpp:27:67: error: expected ',' before ')' token
warning:    static_assert(::std::is_copy_constructible<valueTypeName>::value);
warning:                                                                    ^
warning: src/core/qhash/qhash.cpp:30:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(::std::int32_t, QByteArray, i32_QByteArray);
warning:  ^
warning: src/core/qhash/qhash.cpp:27:67: error: expected string-literal before ')' token
warning:    static_assert(::std::is_copy_constructible<valueTypeName>::value);
warning:                                                                    ^
warning: src/core/qhash/qhash.cpp:30:1: note: in expansion of macro 'CXX_QT_QHASH_ASSERTS'
warning:  CXX_QT_QHASH_ASSERTS(::std::int32_t, QByteArray, i32_QByteArray);
warning:  ^
warning: src/core/qhash/qhash.cpp:32:18: warning: 'register_QHash_i32_QByteArray' defined but not used [-Wunused-variable]
warning:  static const int register_QHash_i32_QByteArray =
warning:                   ^
warning: src/core/qhash/qhash.cpp:36:18: warning: 'register_QHash_QString_QVariant' defined but not used [-Wunused-variable]
warning:  static const int register_QHash_QString_QVariant =
warning:                   ^

error: failed to run custom build command for `cxx-qt-lib v0.5.3 (C:\Users\askha\Desktop\rust_qt\cxx-qt-1\crates\cxx-qt-lib)`

Caused by:
  process didn't exit successfully: `C:\Users\askha\Desktop\rust_qt\cxx-qt-1\target\debug\build\cxx-qt-lib-cc17188b7c7a6a83\build-script-build` (exit code: 1)

Be-ing added a commit to Be-ing/cxx-qt that referenced this issue Aug 1, 2023
@ahayzen-kdab
Copy link
Collaborator

So the following error appears to be due to MinGW / your compiler using C++11 not C++17 (which we are setting in CMake but maybe not with Rust build scripts).

Do you know if MinGW 8.1 is the latest version available to you ? It looks like version 11 might be available ?

warning: src/core/qbytearray.cpp:30:70: error: expected ',' before ')' token
warning:  static_assert(!::std::is_trivially_copy_assignable<QByteArray>::value);
warning:                                                                       ^

https://stackoverflow.com/questions/58681558/expected-string-literal-before-when-using-static-assert-in-c17

@ahayzen-kdab
Copy link
Collaborator

And I note we are setting

builder.flag_if_supported("/std:c++17");
...
builder.flag_if_supported("-std=c++17");

Unless MinGW is not picking those up....

ahayzen-kdab pushed a commit that referenced this issue Aug 1, 2023
@Kuraga13
Copy link
Author

Kuraga13 commented Aug 1, 2023

@ahayzen-kdab
Hurray everything worked!
Yes you are right. For some reason, the regular mingw32 as part of q5 / tools has a version of ~ gcc 8.
Now I have:
gcc version 13.2.0 (Rev1, Built by MSYS2 project) Target: i686-w64-mingw32
In Cmake I set the settings :

SET(CMAKE_PREFIX_PATH "V:/setup_soft/qt/5.15.2/mingw81_32")
...
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
option(USE_QT5 "Use Qt5 even if Qt6 found" ON)
option(VCPKG "Use vcpkg for dependencies" OFF) 

and rust kit is :

stable-x86_64-pc-windows-gnu
stable-i686-pc-windows-gnu (default)
rustc 1.71.0 (8ede3aae2 2023-07-12)

It remains only to check the launch on a 32-bit machine and can close this issue.

@Kuraga13
Copy link
Author

Kuraga13 commented Aug 1, 2023

everything bulding, deployinig and running

@Kuraga13 Kuraga13 closed this as completed Aug 1, 2023
@ahayzen-kdab
Copy link
Collaborator

@Kuraga13 Awesome! thanks for testing that, feel free to open new issues for other problems you have :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🪲 bug Something isn't working 🔨 build system Issues related to integrating CXX-Qt into CMake/Cargo
Projects
None yet
Development

No branches or pull requests

4 participants