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. Why QDoc don't work, it's really confusing.
Forum Updated to NodeBB v4.3 + New Features

Why QDoc don't work, it's really confusing.

Scheduled Pinned Locked Moved Unsolved General and Desktop
qdoc
26 Posts 7 Posters 6.3k Views 5 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.
  • M mrjj
    25 Apr 2019, 12:07

    Hi
    Maybe try a simple sample and see ?
    https://retifrav.github.io/blog/2017/05/24/documenting-qt-project-with-qdoc/

    S Offline
    S Offline
    Stephen INF
    wrote on 25 Apr 2019, 12:28 last edited by
    #12

    @mrjj
    Thanks a lot,I will try it now.(Sorry for reply late...)

    1 Reply Last reply
    0
    • M mrjj
      25 Apr 2019, 12:07

      Hi
      Maybe try a simple sample and see ?
      https://retifrav.github.io/blog/2017/05/24/documenting-qt-project-with-qdoc/

      S Offline
      S Offline
      Stephen INF
      wrote on 25 Apr 2019, 13:21 last edited by
      #13

      @mrjj
      I tried,QDoc works well with qml ,but C++ Class still do not works.
      I found generate documentation for qml only need one "source" file,but C++ class need both "source" and "header" file.
      I guess there might be something wrong with header file ?So QDoc can't analyse source file as normal.

      New C++ class "WidgetTest" added in project privided in the link.

      header file:

      #include <QWidget>
      
      class WidgetTest : public QWidget
      {
          Q_OBJECT
      public:
          explicit WidgetTest(QWidget *parent = nullptr);
      };
      

      source file without "\fn":

      /*!
        \class WidgetTest
        \brief WidgetTest for ui interface.
        \inmodule module0
      */
      
      /*!
        WidgetTest::WidgetTest(QWidget *parent)
      
        constructor WidgetTest
      */
      WidgetTest::WidgetTest(QWidget *parent) : QWidget(parent)
      {
      
      }
      

      output:

      warning: Cannot tie this documentation to anything
          [qdoc found a /*! ... */ comment, but there was no topic command (e.g., '\fn', '\page') in the comment and no function definition following the comment.]
      

      source file with "\fn":

      /*!
        \class WidgetTest
        \brief WidgetTest for ui interface.
        \inmodule module0
      */
      
      /*!
        \fn WidgetTest::WidgetTest(QWidget *parent)
      
        constructor WidgetTest
      */
      WidgetTest::WidgetTest(QWidget *parent) : QWidget(parent)
      {
      
      }
      

      output:

      warning: clang found diagnostics parsing \fn WidgetTest::WidgetTest(QWidget *parent)
          error: use of undeclared identifier 'WidgetTest'
          error: unknown type name 'QWidget'
      

      widgettest.html is same:
      0_1556198443281_widgettest.png

      1 Reply Last reply
      0
      • M Offline
        M Offline
        mrjj
        Lifetime Qt Champion
        wrote on 25 Apr 2019, 13:38 last edited by mrjj
        #14

        Hi
        Did you change config file to match ?
        sample uses

        headers.fileextensions = "*.hpp"
        but often its actually just "*.h"
        
        S 1 Reply Last reply 25 Apr 2019, 13:49
        0
        • M mrjj
          25 Apr 2019, 13:38

          Hi
          Did you change config file to match ?
          sample uses

          headers.fileextensions = "*.hpp"
          but often its actually just "*.h"
          
          S Offline
          S Offline
          Stephen INF
          wrote on 25 Apr 2019, 13:49 last edited by
          #15

          @mrjj
          Yes,I changed that.

          M 1 Reply Last reply 25 Apr 2019, 13:56
          0
          • S Stephen INF
            25 Apr 2019, 13:49

            @mrjj
            Yes,I changed that.

            M Offline
            M Offline
            mrjj
            Lifetime Qt Champion
            wrote on 25 Apr 2019, 13:56 last edited by
            #16

            @Stephen-INF
            hmm odd. then
            it seems clang have issue parsing the header
            ( QDoc uses clang from Qt 5.11)

            You did follow step to install it ?
            https://doc.qt.io/qt-5/qdoc-guide-clang.html

            S 1 Reply Last reply 25 Apr 2019, 14:01
            1
            • M mrjj
              25 Apr 2019, 13:56

              @Stephen-INF
              hmm odd. then
              it seems clang have issue parsing the header
              ( QDoc uses clang from Qt 5.11)

              You did follow step to install it ?
              https://doc.qt.io/qt-5/qdoc-guide-clang.html

              S Offline
              S Offline
              Stephen INF
              wrote on 25 Apr 2019, 14:01 last edited by
              #17

              @mrjj
              Yes,I did it
              installed LLVM6.0.1 and specify Clang location by "set LLVM_INSTALL_DIR=C:\Program Files\LLVM"

              M 1 Reply Last reply 25 Apr 2019, 14:21
              0
              • S Stephen INF
                25 Apr 2019, 14:01

                @mrjj
                Yes,I did it
                installed LLVM6.0.1 and specify Clang location by "set LLVM_INSTALL_DIR=C:\Program Files\LLVM"

                M Offline
                M Offline
                mrjj
                Lifetime Qt Champion
                wrote on 25 Apr 2019, 14:21 last edited by
                #18

                @Stephen-INF
                That seems pretty ok.
                However, since the other part of generation seems to work, then
                it must be something with clang and /fn
                But I cant guess what not right.

                S 1 Reply Last reply 25 Apr 2019, 14:51
                0
                • M mrjj
                  25 Apr 2019, 14:21

                  @Stephen-INF
                  That seems pretty ok.
                  However, since the other part of generation seems to work, then
                  it must be something with clang and /fn
                  But I cant guess what not right.

                  S Offline
                  S Offline
                  Stephen INF
                  wrote on 25 Apr 2019, 14:51 last edited by
                  #19

                  @mrjj
                  Well,can you try to generate C++ documentation with QDoc if you are free?

                  M 1 Reply Last reply 25 Apr 2019, 15:02
                  0
                  • S Stephen INF
                    25 Apr 2019, 14:51

                    @mrjj
                    Well,can you try to generate C++ documentation with QDoc if you are free?

                    M Offline
                    M Offline
                    mrjj
                    Lifetime Qt Champion
                    wrote on 25 Apr 2019, 15:02 last edited by
                    #20

                    @Stephen-INF
                    I might :)

                    1 Reply Last reply
                    0
                    • F Offline
                      F Offline
                      FrancoF
                      wrote on 28 May 2019, 12:46 last edited by
                      #21

                      @mrjj
                      Hi, I have a very simila problem.

                      M 1 Reply Last reply 29 May 2019, 06:11
                      0
                      • F FrancoF
                        28 May 2019, 12:46

                        @mrjj
                        Hi, I have a very simila problem.

                        M Offline
                        M Offline
                        mrjj
                        Lifetime Qt Champion
                        wrote on 29 May 2019, 06:11 last edited by
                        #22

                        @FrancoF
                        Hi
                        I did try the QDoc but could not get any /fn to work either.

                        What version of Qt are you using ?

                        DevMachinesD F 2 Replies Last reply 16 Jun 2019, 10:31
                        0
                        • M mrjj
                          29 May 2019, 06:11

                          @FrancoF
                          Hi
                          I did try the QDoc but could not get any /fn to work either.

                          What version of Qt are you using ?

                          DevMachinesD Offline
                          DevMachinesD Offline
                          DevMachines
                          wrote on 16 Jun 2019, 10:31 last edited by DevMachines
                          #23

                          Re: [Why QDoc don't work](it's really confusing.)
                          I have the same issue with Qt5.12.0 on Windows. Does anyone have the solution for this?
                          Some notes - the enumerator was processed without problems:

                          class MyClass
                          {
                          public:
                          enum Type
                          {
                          }
                          void foo();
                          }

                          /*!
                          \enum MyClass::Type - parsed without errors
                          \value …
                          */

                          /*!
                          \fn void MyClass::foo() - error: use of undeclared identifier 'MyClass' why???
                          */

                          1 Reply Last reply
                          0
                          • DevMachinesD Offline
                            DevMachinesD Offline
                            DevMachines
                            wrote on 20 Jun 2019, 10:35 last edited by
                            #24

                            To fix the error, you need to switch to VS2015 Build Tool. For VS2017 I could not get the compiler to work. But for 2015 everything works as expected.

                            1 Reply Last reply
                            4
                            • M Offline
                              M Offline
                              Michael Scopchanov
                              wrote on 24 Aug 2019, 05:26 last edited by
                              #25

                              Check out this: https://stackoverflow.com/questions/52739030/why-does-q-object-break-qdoc

                              1 Reply Last reply
                              1
                              • M mrjj
                                29 May 2019, 06:11

                                @FrancoF
                                Hi
                                I did try the QDoc but could not get any /fn to work either.

                                What version of Qt are you using ?

                                F Offline
                                F Offline
                                FrancoF
                                wrote on 27 Aug 2019, 13:01 last edited by
                                #26

                                @mrjj
                                Qt 5.12.4 (GCC 9.1.0, 64 bit) installed on MSYS.

                                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