Dear Opus community, I'm trying to build opusfile as a shared (.dll) library on Windows 10 using Visual Studio 2017. I know there are prebuilt libraries, but those are depending on a whole bunch of other libraries and x86 (32 bit) only. Whenever I try to build opusfile, it generates opusfile.dll, which is basically empty (no functions), which makes it unuseable. This is most likely because opusfile is supposed to be built as a static-library. I wonder how mozilla manages to build it. You don't appear to be able to help me, do you? Thank you very much and I wish you best regards, --Zuzu_Typ-- -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.xiph.org/pipermail/opus/attachments/20170726/fa230d93/attachment.html>
Zuzu Typ wrote:> This is most likely because opusfile is supposed to be built as a > static-library.You'll need an export list for all of the functions in include/opusfile.h. The best way to do this is to create a .def file listing the function names, which could live in, e.g., win32/VS2015 (patches welcome). Ideally these would be separate for libopusfile and libopusurl (to allow building the former without the latter).> I wonder how mozilla manages to build it.Ralph doesn't use Visual Studio. He uses mingw32 instead. The procedure is documented in doc/release.txt. One of the major reasons for this is that compiling OpenSSL with Visual Studio is difficult and complicated (enough that none of us have tried to figure out how to do it). If you don't need URL support, you can skip that. However, you'll still need to depend on libopus and libogg. Those three libraries are the only non-platform dependencies.