I’ve been trying to compile ffmpeg with NDI support on macOS and kept on 
running into the error

    ld: library not found for -lndi

when compiling. Having no experience with compiling things or C in general, I 
poked around and tried various different things. However, the issue turned out 
to be that under the configure file, both libndi_newtek_indev_extralibs and 
libndi_newtek_outdev_extralibs had the option “-lndi” when in fact, this 
library didn’t exist!

Under /usr/local, I did find libndi.3.dylib. Changing “-lndi” to “-lndi.3”, 
ffmpeg compiled and I’ve tested both input and output over an NDI stream. I was 
going to commit the changes to configure but then I noticed that while macOS 
used “libndi.3.dylib”, the NDI SDK for Linux still used the name “libndi.so”, 
meaning that I can’t change “-lndi” to “-lndi.3” without breaking Linux support 
and causing the same issue for them.

Since I have no experience using ld or configure or make, I wanted to ask, is 
there a way to change what is being loaded based on the platform, rather than 
being the same for both?

Pranav
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to