GNU C++用パッケージの.aファイルをdllに変換したらいいような...
→やってみた(失敗)
rem 静的ライブラリファイルをオブジェクトファイルに戻す(カレントディレクトリにずらずら生成される)
ar x libDxLib.a
ar x libDxUseCLib.a
ar x libDxDrawFunc.a
ar x libjpeg.a
ar x libpng.a
ar x libzlib.a
ar x libtiff.a
ar x libtheora_static.a
ar x libvorbis_static.a
ar x libvorbisfile_static.a
ar x libogg_static.a
ar x libbulletdynamics.a
ar x libbulletcollision.a
ar x libbulletmath.a
ar x libopusfile.a
ar x libopus.a
ar x libsilk_common.a
ar x libcelt.a
rem 1つの静的ライブラリにまとめる(libDx.aが生成される)
ar r libDx.a *.o
rem dllにする(ここでエラー)
g++ -shared -Wl,--out-implib,libDx__.a,--base-file,libDx__.exp,-Map,libDx__.map,--export-all-symbols,--enable-auto-import,--whole-archive libDx.a -Wl,--no-whole-archive -o DxLib.dll
エラー↓
libDx.a(apiwrapper.o):apiwrapper.c:(.text+0x2a1): undefined reference to `th_comment_init'
libDx.a(apiwrapper.o):apiwrapper.c:(.text+0x2b1): undefined reference to `th_comment_query'
libDx.a(apiwrapper.o):apiwrapper.c:(.text+0x2c1): undefined reference to `th_comment_query_count'
libDx.a(apiwrapper.o):apiwrapper.c:(.text+0x2d1): undefined reference to `th_comment_clear'
libDx.a(apiwrapper.o):apiwrapper.c:(.text+0x2e1): undefined reference to `th_comment_add'
libDx.a(apiwrapper.o):apiwrapper.c:(.text+0x2f1): undefined reference to `th_comment_add_tag'
libDx.a(celt_decoder.o):celt_decoder.c:(.text+0x353): undefined reference to `clt_mdct_backward_c(mdct_lookup const*, float*, float*, float const*, int, int, int, int)'
libDx.a(celt_decoder.o):celt_decoder.c:(.text+0x46d): undefined reference to `clt_mdct_backward_c(mdct_lookup const*, float*, float*, float const*, int, int, int, int)'
libDx.a(celt_decoder.o):celt_decoder.c:(.text+0x588): undefined reference to `clt_mdct_backward_c(mdct_lookup const*, float*, float*, float const*, int, int, int, int)'
libDx.a(celt_decoder.o):celt_decoder.c:(.text+0x5f9): undefined reference to `clt_mdct_backward_c(mdct_lookup const*, float*, float*, float const*, int, int, int, int)'
libDx.a(celt_encoder.o):celt_encoder.c:(.text+0x2746): undefined reference to `clt_mdct_forward_c(mdct_lookup const*, float*, float*, float const*, int, int, int, int)'
libDx.a(decinfo.o):decinfo.c:(.text+0x5f6): undefined reference to `th_comment_clear'
libDx.a(decinfo.o):decinfo.c:(.text+0x638): undefined reference to `th_info_clear'
libDx.a(enc_API.o):enc_API.c:(.text+0x558): undefined reference to `silk_encode_do_VAD_FLP'
libDx.a(enc_API.o):enc_API.c:(.text+0x602): undefined reference to `silk_encode_frame_FLP'
libDx.a(enc_API.o):enc_API.c:(.text+0xc3c): undefined reference to `silk_encode_frame_FLP'
libDx.a(enc_API.o):enc_API.c:(.text+0xf2a): undefined reference to `silk_encode_do_VAD_FLP'
libDx.a(http.o):http.c:(.text+0x54): undefined reference to `op_strncasecmp(char const*, char const*, int)'
libDx.a(opus_encoder.o):opus_encoder.c:(.text+0x366f): undefined reference to `run_analysis(TonalityAnalysisState*, OpusCustomMode const*, void const*, int, int, int, int, int, int, int, void (*)(void const*, float*, int, int, int, int, int), AnalysisInfo*, int)'
libDx.a(opus_multistream_encoder.o):opus_multistream_encoder.c:(.text+0xf0b): undefined reference to `clt_mdct_forward_c(mdct_lookup const*, float*, float*, float const*, int, int, int, int)'
libDx.a(opusfile.o):opusfile.c:(.text+0x4ca): undefined reference to `opus_head_parse'
libDx.a(opusfile.o):opusfile.c:(.text+0x6f1): undefined reference to `opus_tags_parse'
libDx.a(opusfile.o):opusfile.c:(.text+0x727): undefined reference to `opus_tags_clear'
libDx.a(opusfile.o):opusfile.c:(.text+0x820): undefined reference to `opus_tags_clear'
libDx.a(opusfile.o):opusfile.c:(.text+0x838): undefined reference to `opus_tags_clear'
libDx.a(opusfile.o):opusfile.c:(.text+0x9e0): undefined reference to `opus_tags_get_album_gain'
libDx.a(opusfile.o):opusfile.c:(.text+0xa05): undefined reference to `opus_tags_get_track_gain'
libDx.a(opusfile.o):opusfile.c:(.text+0x1e98): undefined reference to `opus_tags_clear'
libDx.a(opusfile.o):opusfile.c:(.text+0x3304): undefined reference to `opus_head_parse'
libDx.a(opusfile.o):opusfile.c:(.text+0x373c): undefined reference to `opus_tags_clear'
libDx.a(opusfile.o):opusfile.c:(.text+0x3acc): undefined reference to `opus_tags_clear'
libDx.a(opusfile.o):opusfile.c:(.text+0x3e3c): undefined reference to `opus_tags_clear'
libDx.a(opusfile.o):opusfile.c:(.text+0x41ac): undefined reference to `opus_tags_clear'
libDx.a(opusfile.o):opusfile.c:(.text+0x44cc): undefined reference to `opus_tags_clear'
libDx.a(opusfile.o):opusfile.c:(.text+0x47cc): more undefined references to `opus_tags_clear' follow
libDx.a(opusfile.o):opusfile.c:(.text+0x4990): undefined reference to `opus_tags_get_album_gain'
libDx.a(opusfile.o):opusfile.c:(.text+0x4a2a): undefined reference to `opus_tags_get_track_gain'
libDx.a(opusfile.o):opusfile.c:(.text+0x4af0): undefined reference to `opus_tags_clear'
libDx.a(opusfile.o):opusfile.c:(.text+0x4b55): undefined reference to `opus_tags_clear'
libDx.a(opusfile.o):opusfile.c:(.text+0x5438): undefined reference to `opus_tags_clear'
libDx.a(opusfile.o):opusfile.c:(.text+0x5de2): undefined reference to `opus_tags_clear'
libDx.a(opusfile.o):opusfile.c:(.text+0x7066): undefined reference to `opus_tags_get_track_gain'
libDx.a(opusfile.o):opusfile.c:(.text+0x7088): undefined reference to `opus_tags_get_album_gain'
collect2.exe: error: ld returned 1 exit status
環境 : MinGW-w64 x86_64-posix-seh-rev0
といった感じであと1歩というところまで迫りました