configure: Fix out-of-tree build
box: Add the definition of missing lsmash_form_box_type().
API: Make header just work with C++

It can now be included bare in C++ files, instead of wrapped
in an extern "C" block.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
API: Add dllimport handling

This is similar to how x264 and x265's API works.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
build: Add unix version script

Now we only export public symbols.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
MSVC: Always build against static CRT

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
MSVC: Add .def file generation

This generates a list of exported symbols based on lsmash.h.

We can rely on C# being installed, since it is required in MSVC 2013.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>