[FFmpeg-trac] #282(build system:closed): undefined reference to `_avdevice_register_all'

FFmpeg trac at avcodec.org
Tue Nov 20 22:44:10 CET 2012


#282: undefined reference to `_avdevice_register_all'
-------------------------------------+-------------------------------------
             Reporter:  KSHawkEye    |                    Owner:  michael
                 Type:  defect       |                   Status:  closed
             Priority:  critical     |                Component:  build
              Version:  git          |  system
             Keywords:  undefined    |               Resolution:  invalid
  reference avdevice_register_all    |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by reimar):

 Ugh.
 Just read the documentation on the version-script option:
 {{{
            It is partially supported on PE platforms, which can use
 version scripts to filter symbol
            visibility in auto-export mode: any symbols marked local in the
 version script will not be exported.
 }}}
 That seems to indicate that it ignores which symbols are marked as
 "global".
 At the same time, while not documented, it seems like --export-all-symbols
 does not override the "local" settings in the version file, so adding that
 might indeed be a workaround (though the whole behaviour seems broken to
 me).
 However that brings me to another point, that I think the libSDL/utvideo
 build systems are broken.
 I presume you link against a static build of these libraries.
 However, when building static libraries they should not mark those
 functions as "dllexport", as the name says it is supposed to be for when
 you build DLLs.
 You certainly don't want these functions to be exported when you just use
 the functionality.
 For example, if the SDL DLL was build statically against utvideo (of
 course not the case, just an example) it would end up exporting the
 utvideo functions, which would then cause symbol collisions if an
 application would try to use both the SDL DLL and a utvideo DLL.

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/282#comment:31>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list