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 379 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.
  • PerdrixP Offline
    PerdrixP Offline
    Perdrix
    wrote on 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).

    JonBJ JoeCFDJ 2 Replies Last reply
    0
    • PerdrixP Perdrix

      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).

      JonBJ Offline
      JonBJ Offline
      JonB
      wrote on 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
      • PerdrixP Offline
        PerdrixP Offline
        Perdrix
        wrote on last edited by Perdrix
        #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'
        
        jsulmJ 1 Reply Last reply
        0
        • PerdrixP Perdrix

          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'
          
          jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #4

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

          1 Reply Last reply
          0
          • PerdrixP Perdrix

            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).

            JoeCFDJ Offline
            JoeCFDJ Offline
            JoeCFD
            wrote on last edited by
            #5
            This post is deleted!
            1 Reply Last reply
            0
            • PerdrixP Offline
              PerdrixP Offline
              Perdrix
              wrote on last edited by Perdrix
              #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

              jsulmJ 1 Reply Last reply
              0
              • PerdrixP Perdrix

                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

                jsulmJ Offline
                jsulmJ Offline
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #7
                This post is deleted!
                1 Reply Last reply
                0
                • PerdrixP Offline
                  PerdrixP Offline
                  Perdrix
                  wrote on last edited by Perdrix
                  #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
                  • JoeCFDJ Offline
                    JoeCFDJ Offline
                    JoeCFD
                    wrote on last edited by JoeCFD
                    #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

                    • Login

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