Le 6 sept. 2013 à 09:53, Carl Eugen Hoyos <ceho...@ag.or.at> a écrit :

> Lucas Soltic <lucas.soltic@...> writes:
> 
>> Is there any reliable way of knowing the names of the 
>> libraries that will be created by a standard FFmpeg's
>> configure & make process?
>> On Unix platforms there are ".so" and ".so.version", 
>> and on Windows, there are ".dll" and "-version.dll".
> 
> I probably misunderstand but are you suggesting that we 
> name the Unix shared libraries *.dll ?
> (Or the Windows shared libraries *.so ?)

Hi,
No, Linux correctly uses .so and Windows .dll. The annoying point is the 
version suffix because of course it changes when I update FFmpeg.

> 
>> This makes it hard to use FFmpeg with CMake which 
>> requires the library name to be already known at
>> configuration time, in order to add install rules for 
>> example.
> 
> Why are you using CMake?
> And why would linkers be interested in the complete 
> file name of the libraries, when I tested last, all 
> sane linkers tried different suffixes...

My issue is both an install and runtime library resolution one.

I have a project that relies on CMake and that needs FFmpeg to work. So that 
everything is integrated in CMake, I did things so that the FFmpeg build is 
considered as a custom CMake target that will execute FFmpeg's configure & 
make. And the other part of my project is setup the common way with CMake.

CMake allows adding install rules. But to do so I have to give the exact name 
of the files that will be installed, and I have to give them before the FFmpeg 
libraries are built (at CMake configuration time). In case the file to be 
installed does not exist yet at CMake configuration time, as my custom target 
create them, CMake knows it first need to execute my custom target and won't 
complain.

However at the moment on Linux I only tell CMake to install the .so file 
without any version number because I don't know it. So it'll only install one 
.so instead of all the .so (links + the real library).

The issue is more or less the same on Windows : I can only know in advance the 
name of the dll without any version in it.  So I install that dll. BUT when 
using the .lib files produced by FFmpeg's make process with Visual Studio and 
executing the program, it asks for the dll WITH the version in it. So the dll I 
installed seems completely useless.

Thanks for your time :)
Lucas

> 
> Carl Eugen
> 
> _______________________________________________
> Libav-user mailing list
> Libav-user@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user

_______________________________________________
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to