1

Latest pull from Mercurial (0.8.17). Prog all compiles fine but having a runtime problem with Kinovea.Video.FFMpeg.dll not loading.

Examining the dll, I get these errors:

Error: The Side-by-Side configuration information for "c:\program files (x86)\kinovea\AKINOVEA.VIDEO.FFMPEG.DLL" contains errors. 
The application has failed to start because its side-by-side configuration is incorrect. 
Please see the application event log or use the command-line sxstrace.exe tool for more detail (14001).
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

http://i40.tinypic.com/icmoah.jpg

No Windows experience here so it's gobbledygook apart from the pic below showing a mix of 64 bit and 32 bit modules  - any hints to get past this?

(Ignore the 'A' in front of KINOVEA.VIDEO.FFMPEG.DLL - I'd just renamed it trying a few things)

2

Are you on a 64 bit machine ?
I've not tried building on a 64 bit machine yet, so maybe there are some issues. For example C# projects built with "Any CPU" target and the Kinovea.Video.FFMpeg (C++/CLI) one specifically targeting "x86".
Try putting everything to x86 maybe. Not sure what will happen with the system assemblies, will an assembly targetting x86 automatically reference the right versions of its dependencies ?

Alternatively, if you can figure out the dependencies/build process for a full x64 build that would be awesome. We use the FFMpeg builds from Zeranoe, here (version "Dev"). He makes 64 bit builds too.

3

Yes, on a 64 bit machine but had made all my targets x86.

I've just popped over to a 32-bit machine, but still caught in dependency hell.

Kinovea.Video.FFMPeg.dll appears to have been built in debug mode and depends on MSVCR90D.dll (giving the side-by-side errors above). From what I've read, MSVCR90D.dll (v9.0.21022.8) seems to come from VS2008 SP1 (the runtime distributables don't contain it, nor does straight VS2008). I'm trying to find it without having to install VS2008, let alone SP1, no luck yet.

I note Kinovea.Video.FFMPeg.dll wasn't in 0.8.16 of Kinovea. Can you remember where you got MSVCR90D.dll from, or do you have VS2008 installed?

Thanks.

4

Just noticed your last paragraph. I did try 64 bit builds of FFMPeg but I don't really know what I'm doing. I'm quickly getting up to speed though and will revisit.

5

Hum… I don't have VS2008 installed at home and never have. I do have the VC# 2008 Express version though. Maybe it comes from there… 
The "Kinovea.Video.FFMpeg.dll" is just the new output name for "PlayerServer" project (C++/CLI, built with VC++ Express 2008). If you don't need to debug it, you may rebuild it in release mode and move forward.

I have a start of an x64 build. Still need to figure out a few things.