Development/Tutorials/First program: Difference between revisions
mNo edit summary |
(Added cmake instructions) |
||
Line 29: | Line 29: | ||
and then run it with | and then run it with | ||
./hello | ./hello | ||
If that worked, you may want to use cmake, just like the rest of KDE. | |||
Create a file named CMakeLists.txt with this content: | |||
<code> | |||
#name of the project | |||
project (hello) | |||
#find and use the necessary libraries and headers | |||
find_package(KDE4 REQUIRED) | |||
include_directories( ${KDE4_INCLUDES} ) | |||
# compile | |||
# using a variable is not really necessary: | |||
# using the single line | |||
# kde4_add_executable(hello hello.cpp) | |||
# does the same, but when you add more stuff to the project, | |||
# using the variable makes things a bt easier. | |||
set(helloSources hello.cpp) | |||
kde4_add_executable(hello ${helloSources}) | |||
# and link properly | |||
target_link_libraries( hello ${KDE4_KDEUI_LIBS} ${KDE4_KIO_LIBS}) | |||
</code> | |||
{{KDE4}} | {{KDE4}} |
Revision as of 19:41, 22 December 2006
Your first program shall greet the world with a friendly "hello world", what else ? For that, we will use a KMessageBox. To get more information about the KMessageBox-Class, type "kde: kmessagebox" in your konqueror and it will redirect you to http://developer.kde.org/documentation/library/cvs-api/kdelibs-apidocs/kdeui/html/classKMessageBox.html
- include <QString>
- include <kapplication.h>
- include <kaboutdata.h>
- include <kmessagebox.h>
- include <kcmdlineargs.h>
int main (int argc, char *argv[])
{
KAboutData aboutData( "test", "test",
"1.0", "test", KAboutData::License_GPL,
"(c) 2006" );
KCmdLineArgs::init( argc, argv, &aboutData );
KApplication khello;
KGuiItem kgi( QString( "Hello" ), QString(),
QString( "this is a tooltip" ),
QString( "this is whatsthis" ) );
KMessageBox::questionYesNo( 0, "text", "caption", kgi );
}
If you set up your environment as described in Build/Unstable Version, you can compile this code with
gcc hello.cpp -o hello -I/home/kde-devel/qt-unstable/include/Qt \ -I/home/kde-devel/qt-unstable/include/Qt-Core \ -I/home/kde-devel/qt-unstable/include -I/home/kde-devel/kde/include \ -L/home/kde-devel/kde/lib \ -L/home/kde-devel/qt-unstable/lib -lkdeui -lkdecore -ldl
and then run it with
./hello
If that worked, you may want to use cmake, just like the rest of KDE.
Create a file named CMakeLists.txt with this content:
- name of the project
project (hello)
- find and use the necessary libraries and headers
find_package(KDE4 REQUIRED)
include_directories( ${KDE4_INCLUDES} )
- compile
- using a variable is not really necessary:
- using the single line
- kde4_add_executable(hello hello.cpp)
- does the same, but when you add more stuff to the project,
- using the variable makes things a bt easier.
set(helloSources hello.cpp)
kde4_add_executable(hello ${helloSources})
- and link properly
target_link_libraries( hello ${KDE4_KDEUI_LIBS} ${KDE4_KIO_LIBS})