Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Linux linker problems
Forum Updated to NodeBB v4.3 + New Features

Linux linker problems

Scheduled Pinned Locked Moved Unsolved General and Desktop
9 Posts 4 Posters 334 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    Perdrix
    wrote on 10 Dec 2024, 10:45 last edited by
    #1

    When I rebuild my project this morning I got:

    /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `ImageLoader::ImageLoader()':
    /home/amonra/.vs/DSS/DeepSkyStacker/../DeepSkyStackerKernel/imageloader.h:66: undefined reference to `vtable for ImageLoader'
    /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `ImageLoader::~ImageLoader()':
    /home/amonra/.vs/DSS/DeepSkyStacker/../DeepSkyStackerKernel/imageloader.h:67: undefined reference to `vtable for ImageLoader'
    /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `QMetaObject::Connection QObject::connect<void (ImageLoader::*)(std::filesystem::__cxx11::path), void (DSS::StackingDlg::*)(std::filesystem::__cxx11::path)>(QtPrivate::FunctionPointer<void (ImageLoader::*)(std::filesystem::__cxx11::path)>::Object const*, void (ImageLoader::*)(std::filesystem::__cxx11::path), QtPrivate::ContextTypeForFunctor<void (DSS::StackingDlg::*)(std::filesystem::__cxx11::path), void>::ContextType const*, void (DSS::StackingDlg::*&&)(std::filesystem::__cxx11::path), Qt::ConnectionType)':
    /opt/Qt/6.8.0/gcc_64/include/QtCore/qobject.h:270: undefined reference to `ImageLoader::staticMetaObject'
    /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `QMetaObject::Connection QObject::connect<void (ImageLoader::*)(), void (DSS::StackingDlg::*)()>(QtPrivate::FunctionPointer<void (ImageLoader::*)()>::Object const*, void (ImageLoader::*)(), QtPrivate::ContextTypeForFunctor<void (DSS::StackingDlg::*)(), void>::ContextType const*, void (DSS::StackingDlg::*&&)(), Qt::ConnectionType)':
    /opt/Qt/6.8.0/gcc_64/include/QtCore/qobject.h:270: undefined reference to `ImageLoader::staticMetaObject'
    /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `DSS::ImageListModel const* qobject_cast<DSS::ImageListModel const*>(QObject const*)':
    /opt/Qt/6.8.0/gcc_64/include/QtCore/qobject.h:439: undefined reference to `DSS::ImageListModel::staticMetaObject'
    /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(ImageListModel.cpp.o): in function `DSS::ImageListModel::ImageListModel(QObject*)':
    /home/amonra/.vs/DSS/DeepSkyStackerKernel/ImageListModel.cpp:45: undefined reference to `vtable for DSS::ImageListModel'
    /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(ImageListModel.cpp.o): in function `DSS::ImageListModel::tr(char const*, char const*, int)':
    /home/amonra/.vs/DSS/DeepSkyStackerKernel/ImageListModel.h:43: undefined reference to `DSS::ImageListModel::staticMetaObject'
    /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(imageloader.cpp.o): in function `ThreadLoader::ThreadLoader(std::filesystem::__cxx11::path const&, ImageLoader*)':
    /home/amonra/.vs/DSS/DeepSkyStackerKernel/imageloader.h:87: undefined reference to `vtable for ThreadLoader'
    /usr/bin/ld: /home/amonra/.vs/DSS/DeepSkyStackerKernel/imageloader.h:87: undefined reference to `vtable for ThreadLoader'
    collect2: error: ld returned 1 exit status
    

    I don't know if there's a Qt issue here or not, but does anyone recognise this problem (I'm using g++13 right now).

    J J 2 Replies Last reply 10 Dec 2024, 11:30
    0
    • P Perdrix
      10 Dec 2024, 10:45

      When I rebuild my project this morning I got:

      /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `ImageLoader::ImageLoader()':
      /home/amonra/.vs/DSS/DeepSkyStacker/../DeepSkyStackerKernel/imageloader.h:66: undefined reference to `vtable for ImageLoader'
      /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `ImageLoader::~ImageLoader()':
      /home/amonra/.vs/DSS/DeepSkyStacker/../DeepSkyStackerKernel/imageloader.h:67: undefined reference to `vtable for ImageLoader'
      /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `QMetaObject::Connection QObject::connect<void (ImageLoader::*)(std::filesystem::__cxx11::path), void (DSS::StackingDlg::*)(std::filesystem::__cxx11::path)>(QtPrivate::FunctionPointer<void (ImageLoader::*)(std::filesystem::__cxx11::path)>::Object const*, void (ImageLoader::*)(std::filesystem::__cxx11::path), QtPrivate::ContextTypeForFunctor<void (DSS::StackingDlg::*)(std::filesystem::__cxx11::path), void>::ContextType const*, void (DSS::StackingDlg::*&&)(std::filesystem::__cxx11::path), Qt::ConnectionType)':
      /opt/Qt/6.8.0/gcc_64/include/QtCore/qobject.h:270: undefined reference to `ImageLoader::staticMetaObject'
      /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `QMetaObject::Connection QObject::connect<void (ImageLoader::*)(), void (DSS::StackingDlg::*)()>(QtPrivate::FunctionPointer<void (ImageLoader::*)()>::Object const*, void (ImageLoader::*)(), QtPrivate::ContextTypeForFunctor<void (DSS::StackingDlg::*)(), void>::ContextType const*, void (DSS::StackingDlg::*&&)(), Qt::ConnectionType)':
      /opt/Qt/6.8.0/gcc_64/include/QtCore/qobject.h:270: undefined reference to `ImageLoader::staticMetaObject'
      /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `DSS::ImageListModel const* qobject_cast<DSS::ImageListModel const*>(QObject const*)':
      /opt/Qt/6.8.0/gcc_64/include/QtCore/qobject.h:439: undefined reference to `DSS::ImageListModel::staticMetaObject'
      /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(ImageListModel.cpp.o): in function `DSS::ImageListModel::ImageListModel(QObject*)':
      /home/amonra/.vs/DSS/DeepSkyStackerKernel/ImageListModel.cpp:45: undefined reference to `vtable for DSS::ImageListModel'
      /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(ImageListModel.cpp.o): in function `DSS::ImageListModel::tr(char const*, char const*, int)':
      /home/amonra/.vs/DSS/DeepSkyStackerKernel/ImageListModel.h:43: undefined reference to `DSS::ImageListModel::staticMetaObject'
      /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(imageloader.cpp.o): in function `ThreadLoader::ThreadLoader(std::filesystem::__cxx11::path const&, ImageLoader*)':
      /home/amonra/.vs/DSS/DeepSkyStackerKernel/imageloader.h:87: undefined reference to `vtable for ThreadLoader'
      /usr/bin/ld: /home/amonra/.vs/DSS/DeepSkyStackerKernel/imageloader.h:87: undefined reference to `vtable for ThreadLoader'
      collect2: error: ld returned 1 exit status
      

      I don't know if there's a Qt issue here or not, but does anyone recognise this problem (I'm using g++13 right now).

      J Offline
      J Offline
      JonB
      wrote on 10 Dec 2024, 11:30 last edited by
      #2

      @Perdrix
      Is ImageLoader a QObject? Does it generate signals? Did you remember to put in Q_OBJECT? Did you do a clean rebuild? Maybe same for DSS::ImageListModel?

      1 Reply Last reply
      1
      • P Offline
        P Offline
        Perdrix
        wrote on 10 Dec 2024, 11:36 last edited by Perdrix 12 Oct 2024, 11:56
        #3

        The ImageLoader class ctor and dtor were declared "= default"

        I changed that to simply declare in the header and actually created function bodies for them in the cpp file, but still getting complaints:

        /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `QMetaObject::Connection QObject::connect<void (ImageLoader::*)(std::filesystem::__cxx11::path), void (DSS::StackingDlg::*)(std::filesystem::__cxx11::path)>(QtPrivate::FunctionPointer<void (ImageLoader::*)(std::filesystem::__cxx11::path)>::Object const*, void (ImageLoader::*)(std::filesystem::__cxx11::path), QtPrivate::ContextTypeForFunctor<void (DSS::StackingDlg::*)(std::filesystem::__cxx11::path), void>::ContextType const*, void (DSS::StackingDlg::*&&)(std::filesystem::__cxx11::path), Qt::ConnectionType)':
        /opt/Qt/6.8.0/gcc_64/include/QtCore/qobject.h:270: undefined reference to `ImageLoader::staticMetaObject'
        /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `QMetaObject::Connection QObject::connect<void (ImageLoader::*)(), void (DSS::StackingDlg::*)()>(QtPrivate::FunctionPointer<void (ImageLoader::*)()>::Object const*, void (ImageLoader::*)(), QtPrivate::ContextTypeForFunctor<void (DSS::StackingDlg::*)(), void>::ContextType const*, void (DSS::StackingDlg::*&&)(), Qt::ConnectionType)':
        /opt/Qt/6.8.0/gcc_64/include/QtCore/qobject.h:270: undefined reference to `ImageLoader::staticMetaObject'
        /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `DSS::ImageListModel const* qobject_cast<DSS::ImageListModel const*>(QObject const*)':
        /opt/Qt/6.8.0/gcc_64/include/QtCore/qobject.h:439: undefined reference to `DSS::ImageListModel::staticMetaObject'
        /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(ImageListModel.cpp.o): in function `DSS::ImageListModel::ImageListModel(QObject*)':
        /home/amonra/.vs/DSS/DeepSkyStackerKernel/ImageListModel.cpp:45: undefined reference to `vtable for DSS::ImageListModel'
        /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(ImageListModel.cpp.o): in function `DSS::ImageListModel::tr(char const*, char const*, int)':
        /home/amonra/.vs/DSS/DeepSkyStackerKernel/ImageListModel.h:43: undefined reference to `DSS::ImageListModel::staticMetaObject'
        /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(imageloader.cpp.o): in function `ImageLoader::ImageLoader()':
        /home/amonra/.vs/DSS/DeepSkyStackerKernel/imageloader.cpp:30: undefined reference to `vtable for ImageLoader'
        /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(imageloader.cpp.o): in function `ImageLoader::~ImageLoader()':
        /home/amonra/.vs/DSS/DeepSkyStackerKernel/imageloader.cpp:32: undefined reference to `vtable for ImageLoader'
        /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(imageloader.cpp.o): in function `ThreadLoader::ThreadLoader(std::filesystem::__cxx11::path const&, ImageLoader*)':
        /home/amonra/.vs/DSS/DeepSkyStackerKernel/imageloader.h:87: undefined reference to `vtable for ThreadLoader'
        /usr/bin/ld: /home/amonra/.vs/DSS/DeepSkyStackerKernel/imageloader.h:87: undefined reference to `vtable for ThreadLoader'
        
        J 1 Reply Last reply 10 Dec 2024, 12:11
        0
        • P Perdrix
          10 Dec 2024, 11:36

          The ImageLoader class ctor and dtor were declared "= default"

          I changed that to simply declare in the header and actually created function bodies for them in the cpp file, but still getting complaints:

          /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `QMetaObject::Connection QObject::connect<void (ImageLoader::*)(std::filesystem::__cxx11::path), void (DSS::StackingDlg::*)(std::filesystem::__cxx11::path)>(QtPrivate::FunctionPointer<void (ImageLoader::*)(std::filesystem::__cxx11::path)>::Object const*, void (ImageLoader::*)(std::filesystem::__cxx11::path), QtPrivate::ContextTypeForFunctor<void (DSS::StackingDlg::*)(std::filesystem::__cxx11::path), void>::ContextType const*, void (DSS::StackingDlg::*&&)(std::filesystem::__cxx11::path), Qt::ConnectionType)':
          /opt/Qt/6.8.0/gcc_64/include/QtCore/qobject.h:270: undefined reference to `ImageLoader::staticMetaObject'
          /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `QMetaObject::Connection QObject::connect<void (ImageLoader::*)(), void (DSS::StackingDlg::*)()>(QtPrivate::FunctionPointer<void (ImageLoader::*)()>::Object const*, void (ImageLoader::*)(), QtPrivate::ContextTypeForFunctor<void (DSS::StackingDlg::*)(), void>::ContextType const*, void (DSS::StackingDlg::*&&)(), Qt::ConnectionType)':
          /opt/Qt/6.8.0/gcc_64/include/QtCore/qobject.h:270: undefined reference to `ImageLoader::staticMetaObject'
          /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `DSS::ImageListModel const* qobject_cast<DSS::ImageListModel const*>(QObject const*)':
          /opt/Qt/6.8.0/gcc_64/include/QtCore/qobject.h:439: undefined reference to `DSS::ImageListModel::staticMetaObject'
          /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(ImageListModel.cpp.o): in function `DSS::ImageListModel::ImageListModel(QObject*)':
          /home/amonra/.vs/DSS/DeepSkyStackerKernel/ImageListModel.cpp:45: undefined reference to `vtable for DSS::ImageListModel'
          /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(ImageListModel.cpp.o): in function `DSS::ImageListModel::tr(char const*, char const*, int)':
          /home/amonra/.vs/DSS/DeepSkyStackerKernel/ImageListModel.h:43: undefined reference to `DSS::ImageListModel::staticMetaObject'
          /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(imageloader.cpp.o): in function `ImageLoader::ImageLoader()':
          /home/amonra/.vs/DSS/DeepSkyStackerKernel/imageloader.cpp:30: undefined reference to `vtable for ImageLoader'
          /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(imageloader.cpp.o): in function `ImageLoader::~ImageLoader()':
          /home/amonra/.vs/DSS/DeepSkyStackerKernel/imageloader.cpp:32: undefined reference to `vtable for ImageLoader'
          /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(imageloader.cpp.o): in function `ThreadLoader::ThreadLoader(std::filesystem::__cxx11::path const&, ImageLoader*)':
          /home/amonra/.vs/DSS/DeepSkyStackerKernel/imageloader.h:87: undefined reference to `vtable for ThreadLoader'
          /usr/bin/ld: /home/amonra/.vs/DSS/DeepSkyStackerKernel/imageloader.h:87: undefined reference to `vtable for ThreadLoader'
          
          J Offline
          J Offline
          jsulm
          Lifetime Qt Champion
          wrote on 10 Dec 2024, 12:11 last edited by
          #4

          @Perdrix Can you please answer all questions from @JonB ?

          1 Reply Last reply
          0
          • P Perdrix
            10 Dec 2024, 10:45

            When I rebuild my project this morning I got:

            /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `ImageLoader::ImageLoader()':
            /home/amonra/.vs/DSS/DeepSkyStacker/../DeepSkyStackerKernel/imageloader.h:66: undefined reference to `vtable for ImageLoader'
            /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `ImageLoader::~ImageLoader()':
            /home/amonra/.vs/DSS/DeepSkyStacker/../DeepSkyStackerKernel/imageloader.h:67: undefined reference to `vtable for ImageLoader'
            /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `QMetaObject::Connection QObject::connect<void (ImageLoader::*)(std::filesystem::__cxx11::path), void (DSS::StackingDlg::*)(std::filesystem::__cxx11::path)>(QtPrivate::FunctionPointer<void (ImageLoader::*)(std::filesystem::__cxx11::path)>::Object const*, void (ImageLoader::*)(std::filesystem::__cxx11::path), QtPrivate::ContextTypeForFunctor<void (DSS::StackingDlg::*)(std::filesystem::__cxx11::path), void>::ContextType const*, void (DSS::StackingDlg::*&&)(std::filesystem::__cxx11::path), Qt::ConnectionType)':
            /opt/Qt/6.8.0/gcc_64/include/QtCore/qobject.h:270: undefined reference to `ImageLoader::staticMetaObject'
            /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `QMetaObject::Connection QObject::connect<void (ImageLoader::*)(), void (DSS::StackingDlg::*)()>(QtPrivate::FunctionPointer<void (ImageLoader::*)()>::Object const*, void (ImageLoader::*)(), QtPrivate::ContextTypeForFunctor<void (DSS::StackingDlg::*)(), void>::ContextType const*, void (DSS::StackingDlg::*&&)(), Qt::ConnectionType)':
            /opt/Qt/6.8.0/gcc_64/include/QtCore/qobject.h:270: undefined reference to `ImageLoader::staticMetaObject'
            /usr/bin/ld: DeepSkyStacker/CMakeFiles/DeepSkyStacker.dir/StackingDlg.cpp.o: in function `DSS::ImageListModel const* qobject_cast<DSS::ImageListModel const*>(QObject const*)':
            /opt/Qt/6.8.0/gcc_64/include/QtCore/qobject.h:439: undefined reference to `DSS::ImageListModel::staticMetaObject'
            /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(ImageListModel.cpp.o): in function `DSS::ImageListModel::ImageListModel(QObject*)':
            /home/amonra/.vs/DSS/DeepSkyStackerKernel/ImageListModel.cpp:45: undefined reference to `vtable for DSS::ImageListModel'
            /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(ImageListModel.cpp.o): in function `DSS::ImageListModel::tr(char const*, char const*, int)':
            /home/amonra/.vs/DSS/DeepSkyStackerKernel/ImageListModel.h:43: undefined reference to `DSS::ImageListModel::staticMetaObject'
            /usr/bin/ld: DeepSkyStackerKernel/libDeepSkyStackerKernel.a(imageloader.cpp.o): in function `ThreadLoader::ThreadLoader(std::filesystem::__cxx11::path const&, ImageLoader*)':
            /home/amonra/.vs/DSS/DeepSkyStackerKernel/imageloader.h:87: undefined reference to `vtable for ThreadLoader'
            /usr/bin/ld: /home/amonra/.vs/DSS/DeepSkyStackerKernel/imageloader.h:87: undefined reference to `vtable for ThreadLoader'
            collect2: error: ld returned 1 exit status
            

            I don't know if there's a Qt issue here or not, but does anyone recognise this problem (I'm using g++13 right now).

            J Offline
            J Offline
            JoeCFD
            wrote on 10 Dec 2024, 12:17 last edited by
            #5
            This post is deleted!
            1 Reply Last reply
            0
            • P Offline
              P Offline
              Perdrix
              wrote on 10 Dec 2024, 12:40 last edited by Perdrix 12 Oct 2024, 12:45
              #6

              Well yes, of course I will - I only just saw the questions

              class ImageLoader : public QObject
              {
              	using CacheKeyType = std::filesystem::path;
              	using CacheValueType = std::tuple<LoadedImage, int, bool>; // <image, lastUse, currentlyLoading>
              	using CacheType = std::unordered_map<CacheKeyType, CacheValueType>;
              
              	friend class ThreadLoader;
              	Q_OBJECT
              

              Yes, it generates signals.

              Yes, I did a clean build

                  class ImageListModel :
                      public QAbstractTableModel
                  {
                      Q_OBJECT
              

              It also emits signals

              J 1 Reply Last reply 10 Dec 2024, 12:53
              0
              • P Perdrix
                10 Dec 2024, 12:40

                Well yes, of course I will - I only just saw the questions

                class ImageLoader : public QObject
                {
                	using CacheKeyType = std::filesystem::path;
                	using CacheValueType = std::tuple<LoadedImage, int, bool>; // <image, lastUse, currentlyLoading>
                	using CacheType = std::unordered_map<CacheKeyType, CacheValueType>;
                
                	friend class ThreadLoader;
                	Q_OBJECT
                

                Yes, it generates signals.

                Yes, I did a clean build

                    class ImageListModel :
                        public QAbstractTableModel
                    {
                        Q_OBJECT
                

                It also emits signals

                J Offline
                J Offline
                jsulm
                Lifetime Qt Champion
                wrote on 10 Dec 2024, 12:53 last edited by
                #7
                This post is deleted!
                1 Reply Last reply
                0
                • P Offline
                  P Offline
                  Perdrix
                  wrote on 10 Dec 2024, 13:35 last edited by Perdrix 12 Oct 2024, 13:37
                  #8

                  Hmmm....

                  Looking at the static library that contains the object files for both those classes showed no sign of moc generated stuff!

                  I added set(CMAKE_AUTOMOC TRUE) at the top of the CMakeLists.txt file for the library and it worked. I'm a bit surprised that this isn't the default for qt_add_library

                  I also moved the Q_OBJECT macro (which didn't fix the problem) ...

                  David

                  1 Reply Last reply
                  0
                  • J Offline
                    J Offline
                    JoeCFD
                    wrote on 10 Dec 2024, 14:42 last edited by JoeCFD 12 Oct 2024, 14:43
                    #9

                    My code is as the follows and works.

                    class ImageLoader : public QObject
                    {
                    	Q_OBJECT
                    
                    	friend class ThreadLoader;
                    

                    It is the key to delete everything in the build dir and run cmake .. again. make clean is not enough.

                    1 Reply Last reply
                    0

                    1/9

                    10 Dec 2024, 10:45

                    • Login

                    • Login or register to search.
                    1 out of 9
                    • First post
                      1/9
                      Last post
                    0
                    • Categories
                    • Recent
                    • Tags
                    • Popular
                    • Users
                    • Groups
                    • Search
                    • Get Qt Extensions
                    • Unsolved