Software Archive
Read-only legacy content
17061 Discussions

Apps compiled for R3 (V5) Intel® RealSense™ SDK are not working on top of V4.

Berthier_L_
Beginner
629 Views

I have two PCs with the RealSense SDK installed. Both installations are fully functional: The samples that comes with the SDK are working on both PCs.

One of the PC has the V4 SDK installed, the other one the V5 SDK.

If I compile one of the sample app, say DF_Rawstream.cs.exe on the V5 SDK, deploy it to the computer with the V4 SDK and run it from there, the app fails. After debugging, it turns out that it fails right at the first call to Realsense, 

 PXCMSession session = PXCMSession.CreateInstance();        

will always returns NULL.

I would expect the instance creation to work in that case, and fail later when trying to exercise V5 functionality. Would it be possible?

 

0 Kudos
2 Replies
Colleen_C_Intel
Employee
629 Views

It is assumed that any app built to run on another system that doesn't have the same version (or any version) of the SDK would include the runtime from the "building" version SDK. Each version maintains its own runtime set and not finding that v5 would cause it to stop.

0 Kudos
Berthier_L_
Beginner
629 Views

Thanks Colleen!

My deployment package contained​ blipxccp2c.dll as well as ​libpxclr.cs.dll, which I thought to be the runtime components. At least that's what I understood after reading a few blog posts. 

I thought for a long time that the behavior I was observing was a due to a winform security feature I didn't fully understand. The PXCMSession.CreateInstance doc is especially thin on the topic:

  Return status: The PCXMSession instance, or NULL if there is any errors.

It was only after several hours of debugging that I noticed that the libpxccpp2c.dll was loading a bunch of other dlls from C:\Program Files (x86)\Common Files\Intel\RSSDK\v5\bin\win32. I never saw that directory mentionned before. It's only now that I noticed the "Installing SDK Runtimes" section in the documentation! I should definitively have RTFM. Perhaps the createInstance documentation could hint at looking there? Or even better, the code sample could mention "// if you get a NULL here, did you install properly the SDK runtimes? ref xyz".

Anyway, I'm now up&running again, very cool tech!

 

 

 

0 Kudos
Reply