Pergunta

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 ?

Foi útil?

Solução

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top