Pesky 'Symbol not found' error



  • On 03/06/2013 at 15:34, xxxxxxxx wrote:

    I know that this question has pretty much been hashed out before here, but I haven't been able to come up with a solution.  When I start my plugin I always get this error: 
    Symbol 'Omyplugin' not found.  path/omyplugin.res Line 3.
    Here is the .res file:

    CONTAINER Omyplugin
    {
    	NAME Omyplugin;
    	INCLUDE Obase;
      
    	GROUP ID_OBJECTPROPERTIES
    	{
    		FILENAME TXT_FILE {}
    		LONG BRIGHTNESS{ CUSTOMGUI LONGSLIDER; MIN 0; MAX 300; STEP 1; }
    	}
    }
      
    
    

    I recall reading before that if I delete my symbols cache file that it would fix the problem but I have been unable to find this file on my Mac.  I tried making a copy of my plugin and renaming all titles from the .res, .str, .h, and .pyp files, but still came up with the same error.  Anyone have any suggestions, or at least a pointer to a posting that should fix my problem?



  • On 04/06/2013 at 01:54, xxxxxxxx wrote:

    Hi visualride,

    if the message comes from the resource parser, it has nothing to do with the symbolcache. You must
    have a symbol called "Omyplugin" at least defined in the string resource if you use it as a parameter
    for the "NAME" command. I suggest you even add it to the c4d_symbols.h file as well (with you actual
    plugin id).

    c4d_symbols.h

    enum {
        Omyplugin = 1012042, // Your plugin id.
        MYPLUGINNAME_TXT_FILE = 1000,
        MYPLUGINNAME_BRIGHTNESS = 1001,
    }
    

    Omyplugin.str

    STRINGTABLE Omyplugin {
        Omyplugin "My Plugin";
        // ...
    }
    

    Read here why you should name your IDs differently.

    -Niklas



  • On 04/06/2013 at 08:42, xxxxxxxx wrote:

    Thanks for your detailed reply and example Niklas.  A quick look shows me that this should be what I need. I've become too swamped with 3d work at the moment to be able to dive back into the code, but will later this week.

    Thanks again,
    -David



  • On 04/06/2013 at 09:19, xxxxxxxx wrote:

    Ah Ha!  Thanks Niklas, adding the title identifier (Omyplugin "My Plugin";) to my string table worked!

    Now all I have to do is completely rewrite my code into pretty, well defined def modules, and I'm done.



  • On 05/06/2013 at 02:05, xxxxxxxx wrote:

    ... and add a prefix to your symbols. :)



  • On 05/06/2013 at 06:08, xxxxxxxx wrote:

    By the way, I did read your discussion on id's and see the logic in following these guidelines.
    -MyName_David :)


Log in to reply