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.

Undifined symbol with IQmath librairies

Other Parts Discussed in Thread: DM3730, OMAP3530

Hello,

I am facing to linking errors during the compilation.

I am using a DM3730 on which I want to run algorithms on the DSP.. The developpment environement used is DSPLINK 1.65 on Linux and I am using its makefile system.

When I try to compile I get these errors :

 undefined first referenced                                                                                      
  symbol       in file                                                                                            
 --------- ----------------                                                                                     
 __IQNcos  /home/dsplink_linux_1_65_00_03/dsplink/dsp/BUILD/OMAP3530_0/algoDSP/OBJ/DEBUG/tskReadwrite.obj
 __IQNdiv  /home/dsplink_linux_1_65_00_03/dsplink/dsp/BUILD/OMAP3530_0/algoDSP/OBJ/DEBUG/tskReadwrite.obj
 __IQNsin  /home/dsplink_linux_1_65_00_03/dsplink/dsp/BUILD/OMAP3530_0/algoDSP/OBJ/DEBUG/tskReadwrite.obj

error: unresolved symbols remain
error: errors encountered during linking;
   "/home/dsplink_linux_1_65_00_03/dsplink/dsp/BUILD/OMAP3530_0/algoD
   SP/BIN/DEBUG/algoDSP.out" not built

>> Compilation failure

 

IQmath.h is included in my code and I edited $DSPLINK/make/DspBios/c64xxp_5.xx_linux.mk in order to include IQmath directory:

BASE_IQMATHINC    := $(BASE_INSTALL)/IQmath_v213/include
OSINC_PLATFORM  := $(BASE_CGTOOLSINC) $(BASE_RTDXINC) \
                   $(BASE_PSLINC) $(BASE_CSLINC) $(BASE_IQMATHINC)

I also copied the .lib files from IQmath directory to :

$DSPLINK/dsp/BUILD/OMAP3530_0/EXPORT/DEBUG/
$DSPLINK/dsp/BUILD/OMAP3530_0/EXPORT/RELEASE/

I did this because I heard that by default, DSPLINK is searching the libraries in these directories, not sure if this step is useful...

The weird thing is that in my code I am using _IQ29cos, _IQ29sin, _IQ29div and _IQ29mpyI32 and the last function doesn't generate  errors during compilation ...

 

If anyone has a suggestion, I would really appreciate it!

 

Thanks

 

Jonathan

 

 

  • Dear all,

    I have a same issue on my CPU 3530,

    If you have solved this problem, can you tell me how we can fixe it,

    Thank you for your reponse

    Regard,

    Francis

  • Hi,

    I solved my problem by telling the compiler to use IQmath libraries.

    Since I am using DSPLink makefile system, I just need to edit theCOMPONENT file in my projet by adding these lines (in bold) :

    #   ============================================================================
    #   User specified libraries required during linking
    #   ============================================================================

    USR_LIBS        := dsplink.lib
    USR_LIBS        += IQmath_c64x+.lib
    USR_LIBS        += IQmath_RAM_c64x+.lib

     

    It will tell the compiler to look for IQmath_c64x+.lib and IQmath_RAM_c64x+.lib in $DSPLINK/dsp/BUILD/OMAP3530_0/EXPORT/DEBUG/ and
    $DSPLINK/dsp/BUILD/OMAP3530_0/EXPORT/RELEASE/ directories.

     

    Hope it will help....

     

    Jonathan