This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Unresolved symbols remain (even with include directives)



I've searched this up and down and can't find a resolution - should be a simple fix I imagine though.

CSS Version 6.0.1.00040
TI FR5969 Launchpad
(trying to connect with) Pervasive Displays 1.44" TI EPD BoosterPack

I'm trying to port the G2 example code and I probably have a ways to go still, but before I get to serious hardware debugging I have a basic compiler problem.  I have several source files in nested folders in my project like so:

These folders are set up in my includes, but the compiler does not seem to be building objects for these source files and so then when it goes to link - nothing is there.

So then it fails to build.

I'm not trying to use a library - I just want it to build the source files in the project.  What am I missing?

  • Hi Nathan,

    that error is usually caused by a problem with a library not being included.  Please be sure all necessary libraries are included (the example come from the msp team so their forum can help determine which you might need).  Make sure the path to the libraries is included in the linkers 'file search path'.

    Please keep us informed.

    Best Regards,

    Lisa

  • Lisa,

    The problem is NOT because a library is not included.

    Take a second and actually read my post.  The symbols it's failing on are not from external libraries - they're from the source files in the project.

    The source files are all in the project.  It's not compiling the included source .c files and making objects.  WHY!?

  • Hi Nathan,

    ok, sorry for the slip but it would be good to know more information.  What Grace version are you using?  There are known issues with older grace versions and ccsv6 and you need to use a specific version of grace (essentially v3 packaged with ccs).  Importing does not seem to work note.

    I am wondering if this could be connected.  

    Best Regards,

    Lisa

  • I don't see what Grace could possibly have to do with this issue.  I created a blank project and configured the IO with Grace and it compiled and uploaded just fine.

    The Grace version is 3.0.1.59 (should be the most up to date version - I just installed everything yesterday)

    After making a project and getting the Grace code to compile ok (verified with obligatory blinking LEDs) I copied the other source files into the project to integrate the code needed to drive the display and CCS isn't compiling those source files (there are zero objects in the debug folders for the source files).

    Calls to the functions are working fine (the main project compiles so it's clear the compiler include directives are working), but when it comes time to link - all the other source objects were never created.  The makefile it's automatically creating is ignoring all the other source directories and I'm hesitant to change it by hand - clearly there's a setting I missing somewhere?

  • Hi Nathan, 

    I noticed it was a Grace project, and as mentioned there is an incompatibility between various versions.  

    At any rate, this is odd.   When you added the files did you copy them or add them as linked resources?  One other possible option here, is that if these are linked resources ... there is yet another place to add the path to them.  If you go to window->preferences and filter for linked you will find this easily.

    Otherwise I will see if I can speak with colleagues, consider other possibilities.

    Best Regards,
    Lisa

  • I had both projects open in my workspace and copied the files by CTRL+C the entire source directories from the example project and then CTRL+V into the new FRAM project.

    That copied the source files directly (they are present in explorer), so they should not be linked right?

    If I go to Window->preferences and look at linked resources it's blank.

    Out of desperation I just moved ALL of the source files to the root of the project and now it finally builds everything (with plenty of other errors).  That's a pretty ugly way to do it, but I guess it will work until someone can explain how to get it to look for and build source files in nested folders...

    I also created another test project without Grace and was able to get it to compile objects inside nested folders...so maybe Grace is screwing up the makefile somehow and keeping it from looking through other folders for source files..?

  • Hi Nathan,

    I have pinged a couple colleagues, but it seems eclipse may no do subdirectories ...

    http://e2e.ti.com/support/development_tools/compiler/f/343/t/212521.aspx

    Best regards,

    Lisa

  • Lisa,

    I realize you're probably busy, but you're not really reading my responses.

    In my previous post I mentioned I made a test project where I put a .c and .h file inside a sub-directory and it compiled an object from them just fine.

    Also the example project uses subdirectories and that compiles those as objects too (it just doesn't work with my FRAM Launchpad).

    I'd have to do some more experimenting, but t seems your first intuition might be correct and Grace is somehow interrupting the search paths (the Grace code is also in its own subdirectory and that compiles fine - it just doesn't find any other directories).

    Something about having Grace in the project is messing with the automatically generated Makefiles and it wont parse other directories for source code.

  • Hi Nathan,

    ok, sorry.  I do know I have had the frustration of having to add more paths than I would have liked at times.  But if you can eliminate it to the behaviour of Grace that is a good step and quite feasible.   It would not surprise me if Grace has been trying to/or has been overriding various things. 

    Please just keep us posted if you need further help.  If you find something specific, we can certainly try to verify and file a bug.

    Best regards,
    Lisa

  • Nathan Crum said:
    Something about having Grace in the project is messing with the automatically generated Makefiles and it wont parse other directories for source code.

    That does seem to be the case. I note that when a Grace project is created a src/makefile.libs Makefile is created which is what I thinks causes source files manually added below the src directory to not get compiled.

    E.g. in the following project structure example:

    1) The source file src/src_same_level_as_grace/src_same_level_as_grace.c was not compiled.

    2) The source file src_outside_of_grace/src_outside_of_grace.c was compiled.

    I am not sure if this is a bug, or the intended behaviour when using Grace.

  • Hi Chester/Nathan,

    When the work week returns I am going to test this on my system.   If Grace is interfering with include paths and options, I will file a bug.  

    Best Regards,
    Lisa

  • Hi Chester/Nathan,

    I have tried various things with and without Grace and still seem to come to the conclusion (also from discussion with colleagues) that in the compiler include options, sub directories are not included in the search.

    Hope this helps.

    Best Regards,
    Lisa

  • Lisa - it's unfortunate you think that is true.  I think Chester and I have clearly demonstrated that is not the case.  Compiler include options merely control what code is found as reference for compiling the project source (which is not the problem - header files are found just fine).  It does not control what source files are compiled into objects and later linked together (the problem illustrated here).

    Chester - thanks for narrowing down the circumstances of Grace's interference.  As long as I move my code to a folder that's not at the same level as Grace I should be fine and can resume using a nested folder architecture - much appreciated.

    -Nathan

  • Chester - I was able to confirm your description of the behavior.  I moved my  other source to a folder outside Grace and now everything compiles fine while still using Grace.  Thanks again!

    (this is my new folder structure)