Cross compile failed, mlt_repository.c:31:10: fatal error: dlfcn.h: No such file or directory

I spent a lot of time but still can’t solve this problem. Has anyone encountered this problem?
OS:Ubuntu 18.04
error info:

i686-w64-mingw32-gcc -I/home/lg/shotcut/Shotcut/include -DHAVE_STRUCT_TIMESPEC -I/home/lg/shotcut/Shotcut/include -I/usr/i686-w64-mingw32/include -DNDEBUG -I/home/lg/shotcut/Shotcut/include/SDL2 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPREFIX_DATA=""/home/lg/shotcut/Shotcut/share/mlt"" -DPREFIX_LIB=""/home/lg/shotcut/Shotcut/lib/mlt"" -c -o mlt_repository.o mlt_repository.c
mlt_repository.c:31:10: fatal error: dlfcn.h: No such file or directory
#include <dlfcn.h>
^~~~~~~~~
compilation terminated.
: recipe for target ‘mlt_repository.o’ failed
make[1]: *** [mlt_repository.o] Error 1
make[1]: Leaving directory ‘/home/lg/shotcut/src/mlt/src/framework’
Makefile:9: recipe for target ‘all’ failed
make: *** [all] Error 1
ERROR: Unable to build mlt
LOG: Process has finished. Reason: FAILURE Some kind of error occurred: Unable to build mlt

Build help is not provided because there is way too much overhead required for that. If you are trying to build yourself, debug the problem yourself. Obviously, you are missing dlfunc.h from the error message. The only other guidance I can provide is to actually read and understand scripts/build-shotcut.sh in the source tree. If you are trying to build for Windows in order to make an open source contribution, then see https://shotcut.org/notes/windowsdev/

If you are trying to automate the build for Windows by cross-compiling without making an open source contribution, then I suspect you are attempting to make a potentially illegitimate fork of Shotcut, and why should I help you?