Can't shake these errors in Xcode!



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 09/09/2008 at 14:30, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   R11 
    Platform:      Mac OSX  ; 
    Language(s) :     C++  ;

    ---------
    So, I already had MacOS X 10.5(.4) installed on an external drive. Downloaded the Xcode 3.1 dmg and installed it using defaults onto that drive. I downloaded and installed the Cinema 4D R11 'savable' demo. I then opened the cinema4dsdk xcode project in Xcode 3.1 and built the release version without incident. So far so good.

    I took all of my sources and built my usual folder structure for MacOS X projects in Xcode. I copied the cinema4dsdk project, renamed it, made changes to it, and viola, errors. To be absolutely certain, I deleted the copy, recopied, and made the fewest changes possible. Of course, I'm not sure if more changes are necessary or not - this is my first use of Xcode 3.1 and building on MacOS X 10.5 and using R11 and so forth and so on. Everything looks good. But the same errors. Those errors are:

    error: expected constructor, deconstructor, or type conversion before 'class'

    error: ISO C++ forbids declaration of 'Ltd_ShaderTreeNodeInput' with no type

    First, as already mentioned, predefinition of a class when only a pointer is declared in another class as a member variable is allowed, standard practice.

    Second, the declaration of Ltd_ShaderTreeNodeInput of course has a type (class) as it is declared. Methinks the name length might be jossling oh-so-superior Xcode 3.1 or something else is amiss somewhere. I can't find any solutions that are relevant here. The code isn't at fault (so says my OTHER 14 good builds). These are direct compiler errors so it isn't some lib missing or other. Could it be the line endings (one possibly relevant response that I read in my hours of searching and reading)?

    Help, please, help. Please, oh, please, help.....somebody, anybody, anywhere

    Thanks,



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 10/09/2008 at 06:13, xxxxxxxx wrote:

    Robert, do you do something like this:

    Ltd_ShaderTreeNodeInput = xx;

    at any point outside of a function? The ISO C++ thing is about assigning values outside of functions (IE, inside class definitions as defaults for member variables). Moving the assignment to inside the constructor might help. Incidentally this error does not make sense to me, either. I never ran into it before Leopard. I think there's some switch you can flip to turn off this checking but I have no idea what that might be.

    Can you replicate the error messages with new test cases? For example, have you tried writing a much simpler plugin just to see if it compiles?



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 10/09/2008 at 06:19, xxxxxxxx wrote:

    Hi Robert,

    As kattkieru already mentioned it would help very much if you could provide some simplified source code. Thanks

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 10/09/2008 at 10:45, xxxxxxxx wrote:

    Of a project with a 164 source files (not including res resource, strings, and headers)? Eeeks.

    No, I don't do something like that. I do this (code snippet) :

    > // CLASS: Ltd_ShaderTreeNodeInput \> class Ltd_ShaderTreeNodeInput \> { \>      private: \>           String                              name; \>           String                              node; \>           String                              file; \>           Vector                              value; \>      public: \>           Ltd_ShaderTreeNodeInput(); \>           ~Ltd_ShaderTreeNodeInput(); \>           void                              SetName(String nam); \>           String                              GetName(); \>           Vector                              GetValue(); \>           String                              GetNode(); \>           String                              GetFile(); \>           Ltd_ShaderTreeNodeInput\*     SearchByName(Ltd_ShaderTreeNodeInput\* start, Ltd_ShaderTreeNodeInput\* end, String sname); \>           BOOL                              Parse(FileReader\* filereader, StringTokenizer\* tokenreader); \>           BOOL                              ParseInput(StringTokenizer\* tokenreader); \> }; \> \> // CLASS: Ltd_ShaderTreeNode \> class Ltd_ShaderTreeNode \> { \>      private: \>           String                              name; \>           String                              type; \>           Ltd_ShaderTreeNodeInput\*     nodeInput; \>           Ltd_ShaderTreeNodeInput\*     lastNodeInput; \>      public: \>           Ltd_ShaderTreeNode(); \>           ~Ltd_ShaderTreeNode(); \>           void                              Init(String typ, String nam); \>           String                              GetName(); \>           String                              GetType(); \>           Ltd_ShaderTreeNode\*               SearchByName(Ltd_ShaderTreeNode\* start, Ltd_ShaderTreeNode\* end, String sname); \>           Ltd_ShaderTreeNode\*               SearchByType(Ltd_ShaderTreeNode\* start, Ltd_ShaderTreeNode\* end, String ntype); \>           Ltd_ShaderTreeNodeInput\*     SearchNodeInputByName(String niname); \>           BOOL                              Parse(FileReader\* filereader, StringTokenizer\* tokenreader, String typ, String nam); \> };

    Remember, this isn't a code issue. I've already built this same exact code 14 other times just the other day (Windows VS 6.0, VS 2005, VS2005 64-bit, CodeWarrior, Xcode 2.4.1) - no errors, no warnings. So, I suspect there is some issue in the Xcode project settings or something missed in the install or who knows.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 10/09/2008 at 12:15, xxxxxxxx wrote:

    You are NOT going to believe this. Somehow a 'g' character got added as the first character of the header file in question (in front of the top header comment). I checked my other code and this isn't there. Weird. It may have been during a 'find next' with Cmd-G and the Cmd didn't get typed but the 'g' did - I was doing a manual search and replace to remove Carbon references so the file was saved with the changes. Deleted this spurious character and now those errors are kaput.

    Back to hell for me. :)



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 10/09/2008 at 12:23, xxxxxxxx wrote:

    Howdy,

    > Quote: Originally posted by kuroyume0161 on 10 September 2008
    >
    > * * *
    >
    > Somehow a 'g' character got added as the first character of the header file in question
    >
    > * * *

    Hehe, I hate when that happens. :oD

    Adios,
    Cactus Dan



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 11/09/2008 at 01:34, xxxxxxxx wrote:

    mystery solved :)

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 11/09/2008 at 04:30, xxxxxxxx wrote:

    wow, I was impatiently awaiting an answer to this...always those 1 letter problems. :-)



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 11/09/2008 at 06:28, xxxxxxxx wrote:

    The worst part is that it was in cloaking mode. In Xcode, next to my header comment, like this:

    g/////////////////////////////////
    // text, blah, blah
    /////////////////////////////////

    Unless you are really looking, it blends in well. :)



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 11/09/2008 at 07:43, xxxxxxxx wrote:

    uh, ouch ;)



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 11/09/2008 at 07:47, xxxxxxxx wrote:

    argh, ouch hits the spot. ;-)



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 11/09/2008 at 08:19, xxxxxxxx wrote:

    But what I wonder shouldn't had the compiler complained with a syntax error or undeclared identifier with the line of your source code?

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 11/09/2008 at 08:40, xxxxxxxx wrote:

    That's what I would have expected also but it just went flippy with the other errors.


Log in to reply