maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Development (https://talk.maemo.org/forumdisplay.php?f=13)
-   -   question about developing in C (https://talk.maemo.org/showthread.php?t=40627)

rickrvo 2010-01-15 01:53

question about developing in C
 
I'm new to linux, and I want to make a widget for my nokia n900.

Can some one please tell me where can I find some exemples or how to get the codes from my current installed programs?

Which program should I use in linux or may I use Microsoft visual studio C? which files must I have to compile it?

thank you

b-man 2010-01-15 01:54

Re: question about developing in C
 
here ya go: http://wiki.maemo.org/Documentation/...eveloper_Guide

rickrvo 2010-01-15 03:11

Re: question about developing in C
 
hi, i've read it but since I don't know how to work with linux, i can't even install the all the packages needed... I follow every step from guides but everytime something goes wrong on the instalation...

I'm not used to typing commands to install stuff. When something goes wrong like when I was installing scratchbox, it failed to get some files from the internet and I don't know if it was ever installed or what scratchbox even is... Thats why I'm asking you if is there another way.

Can I use any other program on Windows that will compile and work on my nokia n900?

fatalsaint 2010-01-15 03:24

Re: question about developing in C
 
You could use the virtual images. They come already setup for you.. all you need is the free VirtualBox or free vmware-server.

Both will run on Windows.. and then you boot a Linux inside a virtual machine and can develop in that.

rickrvo 2010-01-15 04:45

Re: question about developing in C
 
I know. I'm using a maemo sdk image on vmware. is there another way? oh another question, where can I find the source codes of the currently available widgets?

thx

Sasler 2010-01-15 05:58

Re: question about developing in C
 
Or, if you are using Windows or Mac, you could try MADDE. :)

wmarone 2010-01-15 06:04

Re: question about developing in C
 
Development for Maemo really does require a bit of knowledge regarding Linux and the tools available on it. This isn't terribly surprising, considering that Maemo is just another Linux distribution, albeit with a very specific hardware focus.

If you want to develop for Maemo using C (as opposed to Python) then I highly recommend learning how to work in Linux. In fact, I'd suggest that if you want a chance at getting something in the repositories, it will be essential.

tirtawn 2010-01-15 07:17

Re: question about developing in C
 
yeap :) Agree. I have to create a separate partition for Linux ubuntu to install the maemo emulator. Took me quite a while to figure out all the problems.

For those that is interested: (just my own notes).

0. Install the GUI version (download from Nokia)
http://www.forum.nokia.com/Tools_Doc...atforms/Maemo/

after that follow this

I will assume you will use Ubuntu (I am using Ubuntu 9.04)

lets call these machines:
1. Ubuntu Normal Screen
2. ScratchBox Screen --> where its actually running from Ubuntu Normal PC


1. Ubuntu Normal Screen
/scratchbox/login --> this will launch Scratchbox Screen

2. Ubuntu Normal Screen
Run Another Terminal then run this
Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -kb

3. Scratchbox Screen
On Scratchbox
export DISPLAY=:2
af-sb-init.sh start




Install QT (one time only)
4. Scratchbox Screen
After login needs to install the following:
fakeroot echo "deb http://repository.maemo.org/extras/ fremantle free non-free" >> /etc/apt/sources.list
fakeroot echo "deb-src http://repository.maemo.org/extras/ fremantle free" >> /etc/apt/sources.list
fakeroot echo "deb http://repository.maemo.org/extras-devel fremantle free non-free" >> /etc/apt/sources.list
fakeroot echo "deb-src http://repository.maemo.org/extras-devel fremantle free" >> /etc/apt/sources.list


fakeroot apt-get update
fakeroot apt-get remove libqt4*
fakeroot apt-get install libqt4-maemo5-dev

fakeroot apt-get install libqt4-gui libqt4-dev

fakeroot apt-get install libqt4-webkit libqt4-opengl

4b ->
sb-conf select FREMANTLE_ARMEL
arch -> make sure its arm
go back to step 4 to install for the ARM platform (just do all the commands again)


5. logout
6. Execute Step 1 and 3 again (since we just install qt we need to make sure the path has been updated)
7.
Create a sample Qt Application
mkdir qt
cd qt
mkdir 1
cd 1

vi hello.cpp
#include <qapplication.h>
#include <qpushbutton.h>


int main( int argc, char **argv )
{
QApplication a( argc, argv );

QPushButton hello( "Hello world!", 0 );
hello.resize( 100, 30 );

//a.setMainWidget( &hello );
hello.show();
return a.exec();
}


8. Compile the program
qmake -project
qmake

./1
or
run-standalone.sh ./1 --> this will use the maemo theme

9. done ;-)

have fun

10.To Shutdown the screen

Scratchbox Screen
to shutdown
af-sb-init.sh stop

mmurfin87 2010-01-15 07:30

Re: question about developing in C
 
i, for one, recommend ditching pure C and using C++ instead. Programming with objects is sooooooo much easier.

Sasler 2010-01-15 08:29

Re: question about developing in C
 
Quote:

Originally Posted by mmurfin87 (Post 473383)
i, for one, recommend ditching pure C and using C++ instead. Programming with objects is sooooooo much easier.

I agree. Try Qt with C++. With Qt Creator and MADDE things are much more painless. If I understood correctly, in the near (I hope :p) future they will be integrated. But even now, with MADDE Terminal, the commands you need are very few and easy to learn. :)


All times are GMT. The time now is 06:16.

vBulletin® Version 3.8.8