I have two projects. Project "vDevice" compiles into "libvDevice.so". This library is then used by the other project "videoViewer", which compiles into a binary "app_videoViewer". These were both working fine before I added a call to avdevice_reigster_all()
in one of vDevice's files.
vDevice.so compiles and links with no errors. In the makefile I have -L${FFMPEG_PATH}
(where all the libav*.a files are located), and -l
avformat, avcodec, avutil, asound, avdevice, and bz2 (in that order).
When I try to make videoViewer now, I get this error:
Linking application app_videoViewer ...
/path/to/lib/libvDevice.so: undefined reference to `avdevice_register_all'
collect2: error: ld returned 1 exit status
For videoViewer I added the same things to the makefile, linking to avformat, avcodec, avutil, asound, avdevice, and bz2, all before vDevice... what am I missing?