Question

I checked in my version of x264 dll file that the open function is named 'x264_encoder_open_130' and 130 happens to be the specific build number of x264 that i use. I build using minGW on windows and link to it, so my program would crash if i try to use a newer dll.. is there a way to get around this ?

Was it helpful?

Solution

No, it should not be x264_encoder_open. It is a measure by design to ensure that a higher level binary is built against proper version of dependency DLL, or otherwise the two don't plug well together due to export name mismatch.

Working this around is easy - if you upgrade x264, also rebuild your application against updated library.

Or, if you want your application be upgradable without rebuild, wrap x264 into thin wrapper you will upgrade along with x264 itself, so that top level application link to the wrapper that does not change its outer interface with the upgrade.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top