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.

Compiler/TMS320F28335: Ti v18.1.1.LTS: undefined symbols _IQ27cos(long) and _IQ27toF(long) after making function inline

Guru 20035 points
Part Number: TMS320F28335
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE

Tool/software: TI C/C++ Compiler

Hello,

I made a class member function inline and now I am getting undefined symbols for two iq functions that I use in that function:  _IQ27cos(long) and _IQ27toF(long).

Of course, I had to move the class member function to the class header file to make it inline.   I also copied the following includes to the header file:

extern "C"
{
#include "IQmathLib.h"
}
#include "IQmathCPP.h"

How can I correct this issue?

Thanks,
Stephen

 

  • Can you tell me what version of the IQMath library you're using (you could just tell me the controlSUITE/C2000Ware version if you aren't sure)? Are you getting any additional build warning or errors?

    Our usual IQMath expert is out of the office, so I appreciate your patience while we look into this.

    Whitney

  • Sorry about not replying sooner.

    I fixed the issue by moving the IQMath include files to the top of the file.  Do you know why that would fix it?

    The IQmathCPP.h is version 1.5 and IQmathLib.h is version 1.6.

  • I'm not sure. If there was something above them before you moved them to the top of the file that needed to be able to see their contents, that would make a difference. Glad you were able to find a solution.

    Whitney