Libtiff shared object file

Hello,

I have an interesting problem.
I am trying to load the libtiff library so I am doing

gSystem->Load(“/dir/libtiff.so”);
gSystem->SetIncludePath(" -I/dir/include ");

But there is no problem until this point.When I try to run my script probe.C:

.x probe.C();
Error: cannot open file “tiffio.h” FILE:probe.C LINE:2
*** Interpreter error recovered ***

but when I make this:

.x probe.C+();
Info in TUnixSystem::ACLiC: creating shared library /home/radbal/nyar/cosmic/./probe_C.so
In file included from /home/radbal/nyar/cosmic/fileH1bPwQ.h:29,
from /home/radbal/nyar/cosmic/fileH1bPwQ.cxx:13:
Directories: 1
ImgLength: 1152
ImgWidth: 1242
BitsperSample: 148373520
BytesperSample: 18546690
Hello World!

So in this case it works!
Why cannot Cint include the header file I need when running the code and why can Cint do it when I compile?I think there must be problem with the include path but I don’t know.

Please help!

Cheers,
Balint

Hi,

Cint include path is set using the

.includecommand.
Also if libtiff.so does not contain a ROOT dictionary, you first need to generate a ROOT dictionary before you can use the function inside libtiff.so from an interpreted script.
So the following should work for you:

gSystem->Load("/dir/libtiff.so"); gSystem->SetIncludePath(" -I/dir/include "); gROOT->ProcessLine(".L tiffio.h+"); gROOT->ProcessLine(".x probe.C"); As a side effect of .L tiffio.h+, CINT should know what to do about it without the need of .include.

Cheers,
Philippe.