https://bugs.kde.org/show_bug.cgi?id=416704

--- Comment #18 from caulier.gil...@gmail.com ---
And now, the compilation is broken imediatly about forward declaration of Qt
C++ class. I don't understand why, even if C+17 is mandatory to compile client
Qt6 code. This is the trace :

[root@localhost build]# make
[  0%] Built target digikam-gitversion
[  0%] Built target digikam-builddate
[  0%] Automatic MOC for target core_dimg_obj
[  0%] Built target core_dimg_obj_autogen
[  0%] Building CXX object
core/libs/dimg/CMakeFiles/core_dimg_obj.dir/core_dimg_obj_autogen/mocs_compilation.cpp.o
[  0%] Building CXX object
core/libs/dimg/CMakeFiles/core_dimg_obj.dir/loaders/dimgloader.cpp.o
In file included from
/home/gilles/Documents/7.x/core/libs/threadimageio/fileio/loadsavethread.h:41,
                 from /home/gilles/Documents/7.x/core/libs/dimg/dimg_p.h:82,
                 from
/home/gilles/Documents/7.x/core/libs/dimg/loaders/dimgloader.cpp:40:
/home/gilles/Documents/7.x/core/libs/threads/dynamicthread.h:38:7: error:
template argument required for ‘class QMutexLocker’
   38 | class QMutexLocker;
      |       ^~~~~~~~~~~~
/home/gilles/Documents/7.x/core/libs/threads/dynamicthread.h:151:16: error:
template placeholder type ‘QMutexLocker<...auto...>’ must be followed by a
simple declarator-id
  151 |     void start(QMutexLocker& locker);
      |                ^~~~~~~~~~~~
In file included from /usr/include/QtCore/QMutex:1,
                 from
/home/gilles/Documents/7.x/core/libs/threadimageio/fileio/loadsavethread.h:31,
                 from /home/gilles/Documents/7.x/core/libs/dimg/dimg_p.h:82,
                 from
/home/gilles/Documents/7.x/core/libs/dimg/loaders/dimgloader.cpp:40:
/usr/include/QtCore/qmutex.h:238:7: note: ‘template<class Mutex> class
QMutexLocker’ declared here
  238 | class QMutexLocker
      |       ^~~~~~~~~~~~
In file included from
/home/gilles/Documents/7.x/core/libs/threadimageio/fileio/loadsavethread.h:41,
                 from /home/gilles/Documents/7.x/core/libs/dimg/dimg_p.h:82,
                 from
/home/gilles/Documents/7.x/core/libs/dimg/loaders/dimgloader.cpp:40:
/home/gilles/Documents/7.x/core/libs/threads/dynamicthread.h:152:15: error:
template placeholder type ‘QMutexLocker<...auto...>’ must be followed by a
simple declarator-id
  152 |     void stop(QMutexLocker& locker);
      |               ^~~~~~~~~~~~
In file included from /usr/include/QtCore/QMutex:1,
                 from
/home/gilles/Documents/7.x/core/libs/threadimageio/fileio/loadsavethread.h:31,
                 from /home/gilles/Documents/7.x/core/libs/dimg/dimg_p.h:82,
                 from
/home/gilles/Documents/7.x/core/libs/dimg/loaders/dimgloader.cpp:40:
/usr/include/QtCore/qmutex.h:238:7: note: ‘template<class Mutex> class
QMutexLocker’ declared here
  238 | class QMutexLocker
      |       ^~~~~~~~~~~~
In file included from
/home/gilles/Documents/7.x/core/libs/threadimageio/fileio/loadsavethread.h:41,
                 from /home/gilles/Documents/7.x/core/libs/dimg/dimg_p.h:82,
                 from
/home/gilles/Documents/7.x/core/libs/dimg/loaders/dimgloader.cpp:40:
/home/gilles/Documents/7.x/core/libs/threads/dynamicthread.h:153:15: error:
template placeholder type ‘QMutexLocker<...auto...>’ must be followed by a
simple declarator-id
  153 |     void wait(QMutexLocker& locker);
      |               ^~~~~~~~~~~~
In file included from /usr/include/QtCore/QMutex:1,
                 from
/home/gilles/Documents/7.x/core/libs/threadimageio/fileio/loadsavethread.h:31,
                 from /home/gilles/Documents/7.x/core/libs/dimg/dimg_p.h:82,
                 from
/home/gilles/Documents/7.x/core/libs/dimg/loaders/dimgloader.cpp:40:
/usr/include/QtCore/qmutex.h:238:7: note: ‘template<class Mutex> class
QMutexLocker’ declared here
  238 | class QMutexLocker
      |       ^~~~~~~~~~~~
make[2]: *** [core/libs/dimg/CMakeFiles/core_dimg_obj.dir/build.make:90:
core/libs/dimg/CMakeFiles/core_dimg_obj.dir/loaders/dimgloader.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:4834:
core/libs/dimg/CMakeFiles/core_dimg_obj.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

[root@localhost build]# 

If i insert "#include <QMutexLocker>" instead forward declaration "class
QMutexLocker", the compilation pass until the next similar error in another
place...

Gilles

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to