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

qthreadstorage.h fails to compile with namespaces enabled

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: P2: Important P2: Important
    • 6.3.0 Alpha
    • 6.2.1
    • Active Qt
    • None
    • macOS 11.6, M1 processor, built using current vcpkg master branch.
    • All
    • f6d210a0d32ce9e81a160bfb893342cb0a521f54 (qt/qtbase/dev) fde96b1568abb87e8bfbf2a54fadb5c57f722157 (qt/qtbase/6.2)

      The following error is produced when trying to compile qtbase using vcpkg, modified to compile Qt in a namespace.

      I guess that the problem occurs because QScopedPointer is not wrapped with QT_PREPEND_NAMESPACE, or that everything under #else // !QT_CONFIG(thread)" is not wrapped with QT_BEGIN_NAMESPACE/QT_END_NAMESPACE.

      {{/Library/Developer/CommandLineTools/usr/bin/c++ -DCore_EXPORTS -DGL_SILENCE_DEPRECATION -DQT_ASCII_CAST_WARNINGS -DQT_BUILDING_QT -DQT_BUILD_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_MOC_COMPAT -DQT_NAMESPACE=MY_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_NO_FOREACH -DQT_NO_USING_NAMESPACE -DQT_USE_QSTRINGBUILDER -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/src/corelib/Core_autogen/include -I/Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/include -I/Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/include/QtCore -I/Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/src/e2b49a9664-31aef8d46e.clean/src/corelib -I/Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/src/corelib -I/Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/src/corelib/global -I/Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/src/corelib/kernel -I/Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/src/e2b49a9664-31aef8d46e.clean/src/corelib/../3rdparty/tinycbor/src -I/Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/include/QtCore/6.2.1 -I/Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/include/QtCore/6.2.1/QtCore -I/Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/src/corelib/.rcc -I/Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/src/e2b49a9664-31aef8d46e.clean/mkspecs/macx-clang -isystem /Users/m1/Documents/workspace/vcpkg-build/vcpkg/installed/arm64-osx/include -fPIC -g -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk -mmacosx-version-min=10.14 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -fapplication-extension -std=c++17 -Winvalid-pch -Xarch_arm64 -include/Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/src/corelib/CMakeFiles/Core.dir/cmake_pch_arm64.hxx -MD -MT src/corelib/CMakeFiles/Core.dir/global/qrandom.cpp.o -MF src/corelib/CMakeFiles/Core.dir/global/qrandom.cpp.o.d -o src/corelib/CMakeFiles/Core.dir/global/qrandom.cpp.o -c /Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/src/e2b49a9664-31aef8d46e.clean/src/corelib/global/qrandom.cpp
      In file included from /Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/src/e2b49a9664-31aef8d46e.clean/src/corelib/global/qrandom.cpp:49:
      In file included from /Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/include/QtCore/qthreadstorage.h:1:
      /Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/include/QtCore/../../../src/e2b49a9664-31aef8d46e.clean/src/corelib/thread/qthreadstorage.h:162:47: error: no template named 'QScopedPointer'; did you mean 'MY_NAMESPACE::QScopedPointer'?
      inline bool qThreadStorage_hasLocalData(const QScopedPointer<T, U> &data)
      ^~~~~~~~~~~~~~
      MY_NAMESPACE::QScopedPointer
      /Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/include/QtCore/../../../src/e2b49a9664-31aef8d46e.clean/src/corelib/tools/qscopedpointer.h:106:7: note: 'MY_NAMESPACE::QScopedPointer' declared here
      class QScopedPointer
      ^
      In file included from /Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/src/e2b49a9664-31aef8d46e.clean/src/corelib/global/qrandom.cpp:49:
      In file included from /Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/include/QtCore/qthreadstorage.h:1:
      /Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/include/QtCore/../../../src/e2b49a9664-31aef8d46e.clean/src/corelib/thread/qthreadstorage.h:168:47: error: no template named 'QScopedPointer'; did you mean 'MY_NAMESPACE::QScopedPointer'?
      inline bool qThreadStorage_hasLocalData(const QScopedPointer<T*, U> &data)
      ^~~~~~~~~~~~~~
      MY_NAMESPACE::QScopedPointer
      /Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/include/QtCore/../../../src/e2b49a9664-31aef8d46e.clean/src/corelib/tools/qscopedpointer.h:106:7: note: 'MY_NAMESPACE::QScopedPointer' declared here
      class QScopedPointer
      ^
      In file included from /Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/src/e2b49a9664-31aef8d46e.clean/src/corelib/global/qrandom.cpp:49:
      In file included from /Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/include/QtCore/qthreadstorage.h:1:
      /Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/include/QtCore/../../../src/e2b49a9664-31aef8d46e.clean/src/corelib/thread/qthreadstorage.h:199:5: error: no template named 'QScopedPointer'; did you mean 'MY_NAMESPACE::QScopedPointer'?
      QScopedPointer<T, ScopedPointerThreadStorageDeleter> data;
      ^~~~~~~~~~~~~~
      MY_NAMESPACE::QScopedPointer
      /Users/m1/Documents/workspace/vcpkg-build/vcpkg/buildtrees/qtbase/arm64-osx-dbg/include/QtCore/../../../src/e2b49a9664-31aef8d46e.clean/src/corelib/tools/qscopedpointer.h:106:7: note: 'MY_NAMESPACE::QScopedPointer' declared here
      class QScopedPointer
      ^
      3 errors generated.}}

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

            semlanik Alexey Edelev
            sterin sterin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes