Qmake and Root

Hi,

I am planning on using Qt for the front end of an application I am developing that will be compiled against the Root libraries. Question: Will qmake generate a suitable makefile for compling against the root libraries so long as I generate a proper .pro file. Or, will I have to manually go in and edit the Makefile. For example, I would imagine that qmake won’t generate the proper commands for generating dictionaries for my classes and .so files. Do you have any suggestions on the best way to generate make files when I am using Qt and incorporating the Root libaries in my backend?

Thanks!

Jon

You can look at the ROOT Makefile when compiling Qt code.
See $ROOTSYS/qt/Module.mk

Rene

Hi,

I can’t seem to find that file or directory. Can you tell me where that is. It is not in the directory specified.

THank you.

Jon

It is the correct directory. You need to look at the source code for ROOT 4.00/08 or newer.

Cheers,
Philippe.

[quote=“jon149”]Hi,

I am planning on using Qt for the front end of an application I am developing that will be compiled against the Root libraries. Question: Will qmake generate a suitable makefile for compling against the root libraries so long as I generate a proper .pro file. Or, will I have to manually go in and edit the Makefile. For example, I would imagine that qmake won’t generate the proper commands for generating dictionaries for my classes and .so files. Do you have any suggestions on the best way to generate make files when I am using Qt and incorporating the Root libaries in my backend?

Thanks!

Jon[/quote]

Yes, Qmake will generate the suitable make file

see: root.bnl.gov/QtRoot/QtRoot.html#qmake

[quote=“jon149”]Hi,

I can’t seem to find that file or directory. Can you tell me where that is. It is not in the directory specified.

THank you.

Jon[/quote]

One can add the Qt-layer to any version of ROOT on his/her own.
I am not testing the newest Qt-later versions against of old ROOT version. This means one may expect some adjustment to be done.
See: root.bnl.gov/QtRoot/How2Install4Unix.html

Hi,

Thanks for your response. i was able to get the examples running. However, one thing puzzled me. When I run the sample program, I see that ROOT is launching in the background. Why is this? i thought I was creating a native QT application and the root libraries were just compiled against this. I don’t want to run root.

Please let me know

Thanks.

Jon

[quote=“jon149”]Hi,

Thanks for your response. i was able to get the examples running. However, one thing puzzled me. When I run the sample program, I see that ROOT is launching in the background. Why is this? i thought I was creating a native QT application and the root libraries were just compiled against this. I don’t want to run root.

Please let me know

Thanks.

Jon[/quote]

Can you elaborate a little bit. What did you mean “root in background”.
Some log file would be appreciated

What I mean is that when the program starts, I see that the root environment is started (i.e., the CINT interpreter). Normally, when I make a root application and compile it using TApplication, I don’t have to actually start the root environment and interpreter.

Basically, I just want to use some of the root classes - TFile, Th1f, TTree, etc. But I want to have the graphics handled by Qt.

It seems very very slow also.

[quote=“jon149”]What I mean is that when the program starts, I see that the root environment is started (i.e., the CINT interpreter).
[/quote]

Can you SHOW me what are speaking about?
If you you had seen something can you show me THAT?
Some log file would be appreciated.
The script that allows me to reproduce your action will be a great help also.

I am very sorry but I am still puzzled. :unamused:
Usually I compile thing using the “compiler” :slight_smile: . Certainly we speak different “languages”. Buy this reason to understand each other we you should send me the concrete information that demonstrates clearly what you saw and and back what you said.

It seems to me the examples I mentioned other day do perform very these functions. Did you get the examples working?

Let’s sort out your first trouble then we may have discussed the “perfomance” issues.

Again some CONCRETE figure
to back your words would be appreciated.
For example, can you run ROOT “benchmarks.C” test with Qt layer and X11 layer and forward us the “ROOT Benchmarks” reported by each.

Mean time can you tell what versdon of Qt you installed and what kind of X-server (X-terminal) you work from.

Please, check you local Qt installation options against of the “recommended” ones from
root.bnl.gov/QtRoot/How2Install4Unix.html

Pay your attention to the remark there
" . . .
It is NOT recommended to build Qt with the “xft” fonts support. That may cause some mismatch between the ROOT generated postscript file and the Qt generated screen image of TCanvas/TPad. “xft” Qt feature may significantly penalize the ROOT rendering performance especially when one communicates the X-client from the remote X-server.
. . ."