Hi,
On Thu, 6 Sep 2001 17:29:11 +0200
Primrose Mbanefo <didi_mbanefo@laposte.net> wrote
concerning "[ROOT] how to ... with compiled programs":
> Hello everyone,
> I work with linux and I would like to know how I should compile my ROOT
> programs so that I don't need an open window(or terminal) to execute them.
I think this info is in the manual, no?
Anyway assume that your script is foo.C and your function in that
script is thus void foo(). Then you should have a file like:
#ifndef __CINT__
// Include all needed headers here
#endif
void foo()
{
// Put your function body here.
}
#ifndef __CINT__
int main(int argc, char** argv)
{
// If you need graphics, uncomment the next line
// TApplication fooApp("fooApp", &argc, argv);
// Call you script function
foo();
// If you need graphics, uncomment the next line
// fooApp.Run();
return 0;
}
#endif
This file can used with interactive ROOT as:
Root> .x foo.C
or you can compile it to a program with
g++ -g -O2 -Wall `root-config --cflags --libs` foo.C -o foo
and execute it as
./foo
BTW, I have a Emacs Lisp function that inserts a skeleton like the
above into current buffer. Very useful. Alos, I've defined a bash
shell function to do the above compilation too. Yes, I know I'm lazy,
but it you write at least 1 ROOT based program a day, you really get
sick and tired of writting the same thing over and over and over and
...
I've attached the file root-help.el, and root.profile for your
pleasure. Hope you like it.
Yours,
Christian Holm Christensen -------------------------------------------
Address: Sankt Hansgade 23, 1. th. Phone: (+45) 35 35 96 91
DK-2200 Copenhagen N Cell: (+45) 28 82 16 23
Denmark Office: (+45) 353 25 305
Email: cholm@nbi.dk Web: www.nbi.dk/~cholm
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:59 MET