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 7.2k 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.
  • Stephen INFS Stephen INF

    @raven-worx
    Hi,I really want to try Qdoc,and I have spent many hours,still don't know where I am doing wrong.If QDoc is usable for you,can you give me an example,thanks a lot.

    raven-worxR Offline
    raven-worxR Offline
    raven-worx
    Moderators
    wrote on last edited by
    #9

    @Stephen-INF
    in the end we are talking about a CLANG warning. This shouldn't influence QDoc though.
    QDoc should output something meaningful in the meantime or?

    --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
    If you have a question please use the forum so others can benefit from the solution in the future

    Stephen INFS 1 Reply Last reply
    2
    • mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #10

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

      Stephen INFS 2 Replies Last reply
      1
      • raven-worxR raven-worx

        @Stephen-INF
        in the end we are talking about a CLANG warning. This shouldn't influence QDoc though.
        QDoc should output something meaningful in the meantime or?

        Stephen INFS Offline
        Stephen INFS Offline
        Stephen INF
        wrote on last edited by
        #11

        @raven-worx
        But all output is above.

        1 Reply Last reply
        0
        • mrjjM mrjj

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

          Stephen INFS Offline
          Stephen INFS Offline
          Stephen INF
          wrote on last edited by
          #12

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

          1 Reply Last reply
          0
          • mrjjM mrjj

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

            Stephen INFS Offline
            Stephen INFS Offline
            Stephen INF
            wrote on 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
            • mrjjM Offline
              mrjjM Offline
              mrjj
              Lifetime Qt Champion
              wrote on last edited by mrjj
              #14

              Hi
              Did you change config file to match ?
              sample uses

              headers.fileextensions = "*.hpp"
              but often its actually just "*.h"
              
              Stephen INFS 1 Reply Last reply
              0
              • mrjjM mrjj

                Hi
                Did you change config file to match ?
                sample uses

                headers.fileextensions = "*.hpp"
                but often its actually just "*.h"
                
                Stephen INFS Offline
                Stephen INFS Offline
                Stephen INF
                wrote on last edited by
                #15

                @mrjj
                Yes,I changed that.

                mrjjM 1 Reply Last reply
                0
                • Stephen INFS Stephen INF

                  @mrjj
                  Yes,I changed that.

                  mrjjM Offline
                  mrjjM Offline
                  mrjj
                  Lifetime Qt Champion
                  wrote on 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

                  Stephen INFS 1 Reply Last reply
                  1
                  • mrjjM mrjj

                    @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

                    Stephen INFS Offline
                    Stephen INFS Offline
                    Stephen INF
                    wrote on 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"

                    mrjjM 1 Reply Last reply
                    0
                    • Stephen INFS Stephen INF

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

                      mrjjM Offline
                      mrjjM Offline
                      mrjj
                      Lifetime Qt Champion
                      wrote on 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.

                      Stephen INFS 1 Reply Last reply
                      0
                      • mrjjM mrjj

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

                        Stephen INFS Offline
                        Stephen INFS Offline
                        Stephen INF
                        wrote on last edited by
                        #19

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

                        mrjjM 1 Reply Last reply
                        0
                        • Stephen INFS Stephen INF

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

                          mrjjM Offline
                          mrjjM Offline
                          mrjj
                          Lifetime Qt Champion
                          wrote on last edited by
                          #20

                          @Stephen-INF
                          I might :)

                          1 Reply Last reply
                          0
                          • F Offline
                            F Offline
                            FrancoF
                            wrote on last edited by
                            #21

                            @mrjj
                            Hi, I have a very simila problem.

                            mrjjM 1 Reply Last reply
                            0
                            • F FrancoF

                              @mrjj
                              Hi, I have a very simila problem.

                              mrjjM Offline
                              mrjjM Offline
                              mrjj
                              Lifetime Qt Champion
                              wrote on 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
                              0
                              • mrjjM mrjj

                                @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 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 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 last edited by
                                    #25

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

                                    1 Reply Last reply
                                    1
                                    • mrjjM mrjj

                                      @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 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