Cannot build Doxygen plugin with QT Creator 3.1.1



  • I recently started the nightmare of integrating the doxygen plugin with QT Creator 3.1.1
    Where I am now is trying to build the plugin.

    I have the trunk.r73.
    I run
    @
    ./opt/Qt/5.3/gcc_64/bin/qmake QTC_SOURCE_DIR=/home/piers/Qt/qt-creator
    QTC_BUILD_DIR=/home/piers/Qt/qtcdox_build
    LIBSROOT=/home/piers/Qt/qt-creator-build/lib
    DEST=/home/piers/Qt/qt-creator-build/lib/qtcreator/plugins/Piers
    @

    when I run make I get

    @
    In file included from ../../qt-creator/src/libs/cplusplus/Macro.h:52:0,
    from ../../qt-creator/src/libs/cplusplus/CppDocument.h:33,
    from ../../qt-creator/src/plugins/cpptools/cppmodelmanagerinterface.h:37,
    from ../../qt-creator/src/plugins/cpptools/cppmodelmanager.h:35,
    from doxygen.cpp:26:
    ../../qt-creator/src/libs/cplusplus/PPToken.h:33:33: fatal error: cplusplus/CPlusPlus.h: No such file or directory
    #include <cplusplus/CPlusPlus.h>
    @

    Which is quite correct. cplusplus/CPlusPlus.h is infact in
    @
    piers@ubMoloch:~/Qt$ locate cplusplus/CPlusPlus.h
    /home/piers/Qt/qt-creator/src/libs/3rdparty/cplusplus/CPlusPlus.h
    @

    And in the doxygen.pro file I have
    @
    INCLUDEPATH += $$QTC_SOURCE_DIR/src
    $$QTC_SOURCE_DIR/src/plugins
    $$QTC_SOURCE_DIR/src/libs
    $$QTC_SOURCE_DIR/src/libs/cplusplus
    $$QTC_SOURCE_DIR/src/libs/extensionsystem
    $$QTC_SOURCE_DIR/src/libs/utils
    $$QTC_SOURCE_DIR/src/shared
    $$QTC_SOURCE_DIR/src/shared/cplusplus
    $$QTC_SOURCE_DIR/src/3rdparty/cplusplus
    @

    In other words no src/libs/3rdparty/cplusplus included. I tried the obvious insertion of
    @
    $$QTC_SOURCE_DIR/src/libs/3rdparty/cplusplus
    @

    in doxygen.pro but no help.

    Any ideas. I am beging to suspect that the latest doxygen plugin might not support QT Creator 3.1.1 where the last entry is
    @
    73 59d 01h kofee /trunk/ 3.1.0 friendly
    @

    But it is porbably more likly that I have screwed up somewhere.

    Thaks for any help



  • Ok just an update. fixed above problme. Inserted

    @
    $$QTC_SOURCE_DIR/src/libs/3rdparty
    @

    into doxygen.pro.
    Now getting

    @
    undefined reference to `Core::IOptionsPage::staticMetaObject'
    collect2: error: ld returned 1 exit status
    make: *** [../../qt-creator-build/lib/qtcreator/plugins/Piers/libDoxygen.so] Error 1
    @

    Seems like lots undefined referenfces in doxygenplugi.cpp
    @
    rm -f libDoxygen.so
    g++ -Wl,-z,origin '-Wl,-rpath,$ORIGIN/../QtProject:$ORIGIN:$ORIGIN/..:$ORIGIN/../..' -Wl,--no-undefined -Wl,-O1 -Wl,-rpath,/opt/Qt/5.3/gcc_64/lib -shared -Wl,-soname,libDoxygen.so -o libDoxygen.so .obj/release-shared/doxygenplugin.o .obj/release-shared/doxygen.o .obj/release-shared/doxygensettings.o .obj/release-shared/doxygensettingswidget.o .obj/release-shared/doxygensettingsstruct.o .obj/release-shared/qrc_doxygen.o .obj/release-shared/moc_doxygenplugin.o .obj/release-shared/moc_doxygensettings.o .obj/release-shared/moc_doxygensettingswidget.o -L/home/piers/Qt/qt-creator-build/lib -L/home/piers/Qt/qt-creator-build/lib/qtcreator -L/home/piers/Qt/qt-creator-build/lib/qtcreator/plugins/QtProject/ -L/home/piers/Qt/qtcdox_build/lib/qtcreator -L/home/piers/Qt/qtcdox_build/lib/qtcreator/plugins/QtProject -L/home/piers/Qt/qtcdox_build/lib/qtcreator/plugins/Kofee -L/opt/Qt/5.3/gcc_64/lib -lQt5Widgets -lQt5Concurrent -lQt5Gui -lQt5Core -lGL -lpthread

    .obj/release-shared/doxygenplugin.o: In function DoxyPlugin::Internal::DoxygenPlugin::instance()': doxygenplugin.cpp:(.text+0x7c): undefined reference toUtils::writeAssertLocation(char const*)'
    .obj/release-shared/doxygenplugin.o: In function DoxyPlugin::Internal::DoxygenPlugin::doxyfileWizard()': doxygenplugin.cpp:(.text+0x15a3): undefined reference toCore::EditorManager::instance()'
    doxygenplugin.cpp:(.text+0x15a8): undefined reference to Core::EditorManager::currentEditor()' doxygenplugin.cpp:(.text+0x1abe): undefined reference toCore::MessageManager::instance()'
    doxygenplugin.cpp:(.text+0x1da1): undefined reference to Core::MessageManager::showOutputPane()' doxygenplugin.cpp:(.text+0x1dae): undefined reference toCore::MessageManager::write(QString const&, QFlagsCore::MessageManager::PrintToOutputPaneFlag)'
    .obj/release-shared/doxygenplugin.o: In function `DoxyPlugin::Internal::DoxygenPlugin::initialize(QStringList const&, QString*)':

    ... lots more
    @

    I guess what I would like is confirmation its my fault.



  • Have you solved this by now?

    Got it working by cleaning up the project file:

    @
    DEFINES += DOXYGEN_LIBRARY
    TEMPLATE = lib
    QTC_PLUGIN_NAME = Doxygen

    PROVIDER = Kofee

    Define QTC_SOURCE_DIR to the location of Qt Creator sources (i.e: ~/dev/qtcreator/qt-creator-src/)

    QTC_SOURCE_DIR = /home/MYUSER/Downloads/qt-creator-opensource-src-3.2.0-rc1/

    HEADERS += doxygenplugin.h
    doxygen_global.h \
    doxygenconstants.h
    doxygen.h
    doxygensettings.h
    doxygensettingswidget.h
    doxygensettingsstruct.h

    SOURCES += doxygenplugin.cpp
    doxygen.cpp
    doxygensettings.cpp
    doxygensettingswidget.cpp
    doxygensettingsstruct.cpp

    FORMS += doxygensettingswidget.ui

    RESOURCES += doxygen.qrc

    OTHER_FILES += Doxygen.pluginspec \
    Doxygen.json \
    qtcreator-doxygen_dependencies.pri
    doxygen.png

    INCLUDEPATH += $$QTC_SOURCE_DIR/src \
    $$QTC_SOURCE_DIR/src/plugins \
    $$QTC_SOURCE_DIR/src/libs \
    $$QTC_SOURCE_DIR/src/libs/cplusplus \
    $$QTC_SOURCE_DIR/src/libs/extensionsystem \
    $$QTC_SOURCE_DIR/src/libs/utils \
    $$QTC_SOURCE_DIR/src/shared \
    $$QTC_SOURCE_DIR/src/shared/cplusplus
    $$QTC_SOURCE_DIR/src/libs/3rdparty
    @

    Hope this helps, if still a problem?!


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.