Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-64441

Usage of Android v16/v16b NDK with clang requires usage of -c++std c++14

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.11.0
    • 5.10.0, 5.10.1
    • None
    • openSUSE Leap v42.3

      android ndk v16b

      android sdk v26

      clang

      armeabi-v7a
    • Android
    • 3a03829cb854c299da220a073cae58614d72c5cb

    Description

      When compiling v5.10.0-beta4 using clang with Android ndk 16 (beta2) it is necessary to enforce c++14, because otherwise compilation of mapbox-gl-native will fail (see below).

      See also QTBUG-63893, r16's libc++ is supposed to support c++1z, the redefinition of 'get_pointer' issue here seems to be coming from mapbox-gl-native/boost itself?

      Adding '-c+std c+14' to the Qt configure statement makes this issue go away.

      <build>/android-ndk-r16/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -c -D__ANDROID_API__=19 -target i686-none-linux-android -gcc-toolchain <build>/android-ndk-r16/toolchains/x86-4.9/prebuilt/linux-x86_64 -DANDROID_HAS_WSTRING --sysroot=<build>/android-ndk-r16/sysroot -isystem <build>/android-ndk-r16/sysroot/usr/include/i686-linux-android -isystem <build>/android-ndk-r16/sources/cxx-stl/llvm-libc++/include -isystem <build>/android-ndk-r16/sources/android/support/include -isystem <build>/android-ndk-r16/sources/cxx-stl/llvm-libc++abi/include -fstack-protector-strong -DANDROID -DNDEBUG -DQT_IMAGE_DECODERS -DRAPIDJSON_HAS_STDSTRING=1 -D__QT__ -O3 -ftemplate-depth=1024 -fvisibility-inlines-hidden -fvisibility=hidden -DMBGL_USE_GLES2 -DMBGL_VERSION_REV=\"qt-v1.1.0\" -O2 -O2 -fPIC -std=c++1z -D_REENTRANT -fvisibility=hidden -fvisibility-inlines-hidden -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native -I. -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/any/8fef1e9 -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/any/8fef1e9/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0 -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include -Ideps/cheap-ruler/2.5.3 -Ideps/cheap-ruler/2.5.3/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/earcut/0.12.3 -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/earcut/0.12.3/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/geojson/0.4.0 -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/geojson/0.4.0/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/geojsonvt/6.2.1 -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/geojsonvt/6.2.1/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/geometry/0.9.2 -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/geometry/0.9.2/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/kdbush/0.1.1-1 -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/kdbush/0.1.1-1/include -Ideps/pixelmatch/0.10.0 -Ideps/pixelmatch/0.10.0/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/polylabel/1.0.3 -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/polylabel/1.0.3/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/protozero/1.5.2 -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/protozero/1.5.2/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/rapidjson/1.1.0 -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/rapidjson/1.1.0/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/shelf-pack/2.1.1 -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/shelf-pack/2.1.1/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/supercluster/0.2.2 -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/supercluster/0.2.2/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/unique_resource/cba309e -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/unique_resource/cba309e/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/variant/1.1.4 -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/variant/1.1.4/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/vector-tile/1.0.0-rc7 -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/vector-tile/1.0.0-rc7/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/wagyu/0.4.3 -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/wagyu/0.4.3/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/platform/default -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/platform/qt/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/src -I<source>/qt-everywhere-src-5.10.0-beta4/qtbase/include/QtNetwork/5.10.0 -I<source>/qt-everywhere-src-5.10.0-beta4/qtbase/include/QtNetwork/5.10.0/QtNetwork -I<build>/qt-5.10.0-r16-x86/qtbase/include/QtNetwork/5.10.0 -I<build>/qt-5.10.0-r16-x86/qtbase/include/QtNetwork/5.10.0/QtNetwork -I<source>/qt-everywhere-src-5.10.0-beta4/qtbase/include/QtGui/5.10.0 -I<source>/qt-everywhere-src-5.10.0-beta4/qtbase/include/QtGui/5.10.0/QtGui -I<build>/qt-5.10.0-r16-x86/qtbase/include/QtGui/5.10.0 -I<build>/qt-5.10.0-r16-x86/qtbase/include/QtGui/5.10.0/QtGui -I<source>/qt-everywhere-src-5.10.0-beta4/qtbase/include/QtSql/5.10.0 -I<source>/qt-everywhere-src-5.10.0-beta4/qtbase/include/QtSql/5.10.0/QtSql -I<source>/qt-everywhere-src-5.10.0-beta4/qtbase/include/QtCore/5.10.0 -I<source>/qt-everywhere-src-5.10.0-beta4/qtbase/include/QtCore/5.10.0/QtCore -I<build>/qt-5.10.0-r16-x86/qtbase/include/QtCore/5.10.0 -I<build>/qt-5.10.0-r16-x86/qtbase/include/QtCore/5.10.0/QtCore -I<source>/qt-e$erywhere-src-5.10.0-beta4/qtbase/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtbase/include/QtNetwork -I<build>/qt-5.10.0-r16-x86/qtbase/include -I<build>/qt-5.10.0-r16-x86/qtbase/include/QtNetwork -$<source>/qt-everywhere-src-5.10.0-beta4/qtbase/include/QtGui -I<build>/qt-5.10.0-r16-x86/qtbase/include/QtGui -I<source>/qt-everywhere-src-5.10.0-beta4/qtbase/include/QtSql -I<build>/qt-5.10.0-r16$x86/qtbase/include/QtSql -I<source>/qt-everywhere-src-5.10.0-beta4/qtbase/include/QtCore -I<build>/qt-5.10.0-r16-x86/qtbase/include/QtCore -I.moc -I<build>/sqlite-3.21.00.00-r16-x86/install/include -I/home$development/4suse42.3-android/openssl-1.1.0g-r16-x86/include -I<source>/qt-everywhere-src-5.10.0-beta4/qtbase/mkspecs/android-clang -o .obj/annotation_tile.o <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/anno$ation/annotation_tile.cpp
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/annotation/annotation_manager.cpp:1:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/annotation/annotation_manager.hpp:4:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/annotation/symbol_annotation_impl.hpp:24:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/geometry.hpp:17:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/geometry/geometry.hpp:50:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/geometry/strategies/strategies.hpp:40:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/geometry/strategies/cartesian/buffer_end_round.hpp:25:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/geometry/io/wkt/wkt.hpp:17:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/geometry/io/wkt/read.hpp:28:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/algorithm/string.hpp:23:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/algorithm/string/split.hpp:16:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/algorithm/string/iter_find.hpp:27:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/algorithm/string/find_iterator.hpp:24:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/algorithm/string/detail/find_iterator.hpp:18:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/function.hpp:24:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/function/detail/prologue.hpp:18:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/mem_fn.hpp:22:
      In file included from <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/bind/mem_fn.hpp:25:
      <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/get_pointer.hpp:48:23: error: redefinition of 'get_pointer' as different kind of symbol
      template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                            ^
      <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/get_pointer.hpp:20:23: note: previous definition is here
      template<class T> T * get_pointer(T * p)
                            ^
      <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/get_pointer.hpp:48:40: error: no member named 'auto_ptr' in namespace 'std'
      template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                                        ~~~~~^
      <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/get_pointer.hpp:48:49: error: 'T' does not refer to a value
      template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                                                      ^
      <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/get_pointer.hpp:48:16: note: declared here
      template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                     ^
      <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/get_pointer.hpp:48:52: error: expected expression
      template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                                                         ^
      <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/get_pointer.hpp:48:61: error: expected ';' at end of declaration
      template<class T> T * get_pointer(std::auto_ptr<T> const& p)
                                                                  ^
                                                                  ;
      <source>/qt-everywhere-src-5.10.0-beta4/qtlocation/src/3rdparty/mapbox-gl-native/deps/boost/1.62.0/include/boost/get_pointer.hpp:49:1: error: expected unqualified-id
      {
      ^
      

       

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              tmpsantos Thiago Marcos P. Santos
              jirauser24743 user-678dd (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes