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.

DVSDK Migrating CE code from SDK 1.10 to 1.30

In the DaVinci workshop, our lab9a uses a dummy codec (vid copy) with a published engine - works fine in SDK 1.10 (engine and codecs were built with 1.10). After installing SDK 1.30 and making the proper modifications to the paths (new sdk path, new CE path, etc), my main.c code barfs on the call to CERuntime_init(). The path to the header file CERuntime.h is correct. However, during compilation (not linking), the compiler says "undefined reference to CERuntime_init(). I have gone over the paths multiple times, I have even hard-coded the paths into the main.c file with no success - same failure. Do I need to rebuild the engine.o file or the codecs inside the engine to work with SDK 1.30?

Something is missing. Any help is much appreciated. FYI...labs 5-8 work fine. This is the first lab that uses CE and the call to CERuntime_init().

Thanks for any wisdom you can provide...

Cheers,

Eric

  • Eric,

    I am pretty certain this is just a path issue as DVSDK demos build fine and they call on CERuntime_init() as well.

     

  • Thanks Juan. We suspected a path problem. And it fails during compile, not link. I did take the header file and put in my local directory (avoiding the path altogether) - still got the failure. Then I hardcoded the exact path and still got the failure. For some reason, I can't believe it's a problem with the path to the header file. I'll keep searching and then compare my setpaths.mak with the demo's path file.

  • Well, we got it resolved. In this lab, we were using SDK 1.30 with an engine built with SDK 1.10. Once we got past the hurdle of building the engine.o file with SDK 1.30, my code worked perfectly. So, in essence, it wasn't a path problem - we just needed to marry a new 1.30 engine with the previous 1.10 code that used that pre-built engine. So, I didn't need to change any paths to get my app to work. I guess the lesson learned here is that if a customer is migrating from 1.10 to 1.30 and are using pre-built engines, they'll need to rebuild those engines (which means rebuilding the codecs as well) before their migrated code will work. The problem surfaces as "CERuntime_init() is undefined". The cause was the lack of a newer engine built with the newest release of the tools - not the paths. You get his "error" during link time, not compile time (as I stated in a previous post) - my bad.

  • Eric,

    Thank you for sharing this; I am sure others will find this very helpful.