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 to
Utils::writeAssertLocation(char const*)'
.obj/release-shared/doxygenplugin.o: In functionDoxyPlugin::Internal::DoxygenPlugin::doxyfileWizard()': doxygenplugin.cpp:(.text+0x15a3): undefined reference to
Core::EditorManager::instance()'
doxygenplugin.cpp:(.text+0x15a8): undefined reference toCore::EditorManager::currentEditor()' doxygenplugin.cpp:(.text+0x1abe): undefined reference to
Core::MessageManager::instance()'
doxygenplugin.cpp:(.text+0x1da1): undefined reference toCore::MessageManager::showOutputPane()' doxygenplugin.cpp:(.text+0x1dae): undefined reference to
Core::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 = DoxygenPROVIDER = 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.hSOURCES += doxygenplugin.cpp
doxygen.cpp
doxygensettings.cpp
doxygensettingswidget.cpp
doxygensettingsstruct.cppFORMS += doxygensettingswidget.ui
RESOURCES += doxygen.qrc
OTHER_FILES += Doxygen.pluginspec \
Doxygen.json \
qtcreator-doxygen_dependencies.pri
doxygen.pngINCLUDEPATH += $$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?!