Re: Re: Compilation of arts on HPUX - namespace problems?
Ravikiran Rajagopal <[email protected]>
| Newsgroups | gmane.comp.kde.non-linux |
|---|---|
| Message-ID | <[email protected]> |
Hi, In that case, how do I disable testing for aRts in configure? I presume just deleting the checks from the configure script will not work, and I did not see a --without-arts option. Also, does the whole problem exist because the class is defined in the header, as opposed to just being declared? If so, I can move the function definitions to a different file, and sneak around the compiler. Ravi --- Harri Porten says: > 4. On compiling mcop/common.h, the following error (and similar ones wherever > ObjectReference is used) kill the compilation: > Error 359: "common.h", line 84 # The expression on the left side of the '->' > (arrow member access operator) must be a pointer to completed class object > type; the type of the left side is 'Arts::ObjectReference *' and 'class > ObjectReference' has not been defined yet. > ObjectReference reference(buffer); > ^^^^^^^^^ > Error 283: "common.h", line 84 # Illegal operand type in call expression. > ObjectReference reference(buffer); > ^^^^^^^^^ > According to my understanding, a class needs to be declared (not defined) > before it is referenced elsewhere. So the error message does not seem to make > sense to me. My interpretation is different: as an object of type ObjectReference is instanciated the compiler has to see the full definition. As ObjectReference is only defined in a header that includes common.h I think the compiler is right and the problem would be non-trivial to fix. Stefan ? The simples workaround is just to remove those lines and live without aRts for now.