Error during dictionary generating

I encountered this error at the last stage of compiling my code. Where should I look into?


Generating dictionary myprogDict.cxx…
Cint internal error ary parameter dimension FILE: LINE:0
Warning: Error occured during dictionary source generation
!!!Removing myprogDict.cxx myprogDict.h !!!
Error: rootcint: error loading headers…


Thanks a lot!

Hi,

This seems to be a problem with parsing the size of some array. Look for odd or unbalanced brackets “[…]”. Also make sure that the header file you pass to CINT compiles when passed to the compiler. If you still do not solve your problem, please post your header files so that we can reproduce the problem.

Cheers,
Philippe

Hi,
you could also try to build the lib using Aclic (even if it’s just for debugging): Aclic calls the compiler if it sees rootcint fail, and the compiler will give you the error messages you’re used to. You can obviusly call the compiler directly, too - but then it’s your job to pass it all the proper flags :wink:
Axel.

Thanks to you guys!

I avoided this problem in a “coward” way – I got rid of the 4 dimension array in my method’s parameter list by changing it into a global one. And now everything is all right.

That array was previously 3-dim and the code was working properly.

So, is that a possibility that CINT doesn’t deal with 4-dim arrays as parameters properly?

My code is like:

methodb(Int_t, Int_t, Float_t para[20][10][10][700]);

After the array “para” is gone, it compiles.