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.

undefined reference to 'BCACHE_wbIN' and so on when compiling the TestAppDecoder.c in MP3DEC codec offered by TI

Other Parts Discussed in Thread: OMAP3530

Hi,

     I have downloaded the mp3 decoder codec from the TI website and added it to the server. Then I followed the steps described in the help pdf offered by TI which is named 'How_do_I_Integrate_new_codecs_into_DVSDK'. After it, I have obtained the cs.x64P file for server. I think it will work correctly. Then I want to compile the test app included in the MP3DEC file, but it failed when linking. The error is 'undefined reference to 'BCACHE_wbIN' ' and some errors like this. It means that all the BCACHE functions can not be included when linking. I found the 'bcache.h' file in my Bios_5_33 directory. But the according lib may not exist. Is this reason for my failure? Could you help me to use this MP3DEC codec correctly. It is very important for me to decode mp3 in my application.

    If I deleted any code related to bcache.h , the executable will obtained. But when I downloaded it to my board (OMAP3530) and run it, it failed followed by the errors: Segmentation Fault.

  • You have taken the opposite action in terms of addressing the build errors you encountered.  Rather than prune out references to  BCACHE APIs, it would have been appropriate to address your initial thoughts of including the actual library with the implementation of the BCACHE routines.  This is the approach to follow.

  • I have included the 'bcache.h' in the top of my application, but it failed with the error: undefined reference to 'BCACHE_wbIN' and such like errors. I don't understand your approach. Could you tell me in detail? Thank you.

  • The .h file is not sufficient to complete the build.  It simply describes to the C Compiler the declaration of a function, symbol, etc. and not the implementation.  The tool that is failing with these errors is likely the linker which needs to know where the object files, or library file, is located that provides the implementation of these functions.

    You need to make sure the BCACHE library or object files are provided to the linker to allow it to "resolve" the address and implementation of these resources.

  • The current problem for me is how to link the bcache library into my app. The bcache.h exists in BIOS_Install directory. I don't know what goes wrong in this directory. How to make sure the library exists here and how to rebuild it in correct way? Could you give me some instructiions? Thanks...