Help writing a plugin

Manoj Rajagopalan rmanoj at umich.edu
Sat May 2 14:28:19 UTC 2009


Hi all,

   I am interested in writing a graphing plugin to visualize 1-D and 2-D 
arrays within the KDevelop debugger. I have tried to google info on 
writing KDevelop plugins but the only thread I found leads to a broken 
link that is supposed to contain an example plugin.

   Can someone point me to a webpage or provide some info on how to go 
about this? I have used Qt and KDevelop extensively and have scanned the 
kdevelop source (SVN) and the API documentation.

   I am using KDevelop 3.5 on Ubuntu 8.04. When I create a KDevelop 
Plugin (Standalone) project and try to build the skeletal project that 
is created, I get a huge number of linker errors. I am pasting the 
command that KDevelop issues and a sampler of these errors. Could 
someone please point what changes I might need to make to my project 
settings so I can eliminate these?

   I am trying to develop this plugin for the 3.5 branch.

thanks,
Manoj

------------------------------------------------------------------------------------

# command-line call

/bin/bash ../libtool --silent --tag=CXX --mode=link g++ -Wno-long-long 
-Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align 
-Wchar-subscripts -Wall -W -Wpointer-arith -fno-builtin -g3 -fno-inline 
-O0 -g3 -Wformat-security -Wmissing-format-attribute 
-Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common 
-avoid-version -module -no-undefined -avoid-version -module 
-no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined -R /usr/lib 
-R /usr/lib -R /usr/lib -o libkdevmatvecvis.la -rpath /usr/lib/kde3 
matvecvispart.lo matvecviswidget.lo matvecvisglobalconfig.lo 
matvecvisprojectconfig.lo matvecvisglobalconfigbase.lo 
matvecvisprojectconfigbase.lo -lkdevelop



# errors:

.libs/matvecvispart.o: In function 
`__static_initialization_and_destruction_0':
/home/rmanoj/Projects/MatVecVis/src/matvecvispart.cpp:44: undefined 
reference to `QString::QString(char const*)'
.libs/matvecvispart.o: In function 
`__static_initialization_and_destruction_0':
/home/rmanoj/Projects/MatVecVis/debug/src/./matvecvispart.moc:28: 
undefined reference to `QMetaObjectCleanUp::QMetaObjectCleanUp(char 
const*, QMetaObject* (*)())'
.libs/matvecvispart.o: In function `__tcf_0':
/home/rmanoj/Projects/MatVecVis/debug/src/./matvecvispart.moc:28: 
undefined reference to `QMetaObjectCleanUp::~QMetaObjectCleanUp()'
.libs/matvecvispart.o: In function `MatVecVisPart::staticMetaObject()':
/home/rmanoj/Projects/MatVecVis/debug/src/./matvecvispart.moc:86: 
undefined reference to `QMetaObject::new_metaobject(char const*, 
QMetaObject*, QMetaData const*, int, QMetaData const*, int, 
QMetaProperty const*, int, QMetaEnum const*, int, QClassInfo const*, int)'
/home/rmanoj/Projects/MatVecVis/debug/src/./matvecvispart.moc:87: 
undefined reference to `QMetaObjectCleanUp::setMetaObject(QMetaObject*&)'


/home/rmanoj/Projects/MatVecVis/src/matvecvispart.cpp:114: undefined 
reference to `KShortcut::KShortcut(int)'
/home/rmanoj/Projects/MatVecVis/src/matvecvispart.cpp:114: undefined 
reference to `KAction::KAction(QString const&, KShortcut const&, QObject 
const*, char const*, KActionCollection*, char const*)'
/home/rmanoj/Projects/MatVecVis/src/matvecvispart.cpp:114: undefined 
reference to `KShortcut::~KShortcut()'
/home/rmanoj/Projects/MatVecVis/src/matvecvispart.cpp:115: undefined 
reference to `i18n(char const*)'
/home/rmanoj/Projects/MatVecVis/src/matvecvispart.cpp:116: undefined 
reference to `i18n(char const*)'
.libs/matvecvispart.o: In function `MatVecVisPart':
/home/rmanoj/Projects/MatVecVis/src/matvecvispart.cpp:53: undefined 
reference to `KXMLGUIClient::setInstance(KInstance*)'
/home/rmanoj/Projects/MatVecVis/src/matvecvispart.cpp:54: undefined 
reference to `QString::QString(char const*)'
/home/rmanoj/Projects/MatVecVis/src/matvecvispart.cpp:54: undefined 
reference to `KXMLGUIClient::setXMLFile(QString const&, bool, bool)'
/home/rmanoj/Projects/MatVecVis/src/matvecvispart.cpp:57: undefined 
reference to `QString::QString(char const*)'
/home/rmanoj/Projects/MatVecVis/src/matvecvispart.cpp:58: undefined 
reference to `KGlobal::instance()'
/home/rmanoj/Projects/MatVecVis/src/matvecvispart.cpp:58: undefined 
reference to `SmallIcon(QString const&, int, int, KInstance*)'
/home/rmanoj/Projects/MatVecVis/src/matvecvispart.cpp:60: undefined 
reference to `i18n(char const*)'
/home/rmanoj/Projects/MatVecVis/src/matvecvispart.cpp:80: undefined 
reference to `i18n(char const*)'
/home/rmanoj/Projects/MatVecVis/src/matvecvispart.cpp:81: undefined 
reference to `i18n(char const*)'


.libs/matvecvispart.o: In function 
`KGenericFactoryBase<MatVecVisPart>::createInstance()':
/usr/include/kde/kgenericfactory.h:64: undefined reference to 
`KInstance::KInstance(KAboutData const*)'
/usr/include/kde/kgenericfactory.h:66: undefined reference to 
`kdWarning(int)'
/usr/include/kde/kgenericfactory.h:66: undefined reference to 
`kdbgstream::~kdbgstream()'
/usr/include/kde/kgenericfactory.h:69: undefined reference to 
`KInstance::KInstance(QCString const&)'
.libs/matvecvispart.o: In function `~KGenericFactoryBase':





More information about the KDevelop-devel mailing list