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.

Importing an External Library

Other Parts Discussed in Thread: TMS320F28377D

Hi,

I am using CCS v6.0.1 and I have been having issues trying to import an external library into my project. The library is a linear/non-linear solver created by qpOASES (see here: https://projects.coin-or.org/qpOASES

neccessary. 

 

I have tried to import the code via linker library in the .a file provided but that has not worked (see below).



My next approach to this error was to include all the source files directly from the library, but discovered that by doing so, I would overfill the available memory 

found on my TMS320F28377D device (See above).

 

Does anybody have any advice as to how I may resolve this issue?

 

Also, I believe I included all the necessary compiler file locations in order for the C++ code to operate, but feel free to correct me if I am wrong.

 

Thank you,

Andrew H

  • Hi Andrew,
    The error message is actually telling you that your code is now too big to fit in the memory region specified in your linker command file.

    Pulling in the library must have added a lot of code. Your .text section is now size 0x14d05 and your available space in the flash sections are not big enough.

    See the below article on more details on the error and suggested resolutions:
    processors.wiki.ti.com/.../10099

    Thanks
    ki
  • Re-reading your post, I see that you reported two issues. My first post was for the second scenario you mentioned. For the first, you said your had some error when just trying to add a library. But you did not describe the error message. What was it?
  • Hi Ki-soo,

    The first error message claimed that they were "unresolved status symbols" as seen below:
    Description Resource Path Location Type
    unresolved symbol qpOASES::QProblem::QProblem(int,, first referenced in int, qpOASES C/C++ Problem
    unresolved symbol qpOASES::QProblem::~QProblem(), first referenced in <whole-program> qpOASES C/C++ Problem
    #10234-D unresolved symbols remain qpOASES C/C++ Problem
    #10010 errors encountered during linking; "qpOASES.out" not built qpOASES C/C++ Problem

    By trying to add the external library through it's .a file, CCS is unable to recognize the code I am trying to utilize in my system. As a result of that, I believed my error had to have been something related to the source code of the external library not being recognized (hence the large file addition into my workspace).

    Best Regards,
    Andrew H

  • Can you physically add the library to the project folder? Any library file with a valid extension (like *.a) will automatically get picked up.
  • Hi Ki-Soo,

    I physically tried to add the library to the CCS project directly by Right Clicking on the Project -> Add Files -> libqpOASES.a as well as removing the other linker directory to ensure there will be no conflicts. My error ended up with the same response as before:
    Description Resource Path Location Type
    #10010 errors encountered during linking; "qpOASES.out" not built qpOASES C/C++ Problem
    unresolved symbol qpOASES::QProblem::~QProblem(), first referenced in <whole-program> qpOASES C/C++ Problem
    #10234-D unresolved symbols remain qpOASES C/C++ Problem
    unresolved symbol qpOASES::QProblem::QProblem(int,, first referenced in int, qpOASES C/C++ Problem

    Also, thank you for the solution earlier as that somewhat helped my situation since I managed to squeeze the code into the .cmd file. Still, it is not sufficient for the mathematical operations I wish to put onto my device at the moment.

    Best Regards,
    Andrew H