portable mdx decoder メモ：

ソースコード自体の修正は特になし

VS 2022 17.10 でビルドした分から 64bit 版が std::mutex::lock() で落ちる
（最新のプラットフォームツールセットでリリースビルドした場合のみ）
（XP 対応プラットフォームツールセットや VS2019 のものでは発生しない）

具体的には x68sound_opm.cpp の

void Opm::Reset() {
    // OPMコマンドバッファを初期化
    {
        m_mtxCmnd.lock();//ここで落ちる

...

https://github.com/microsoft/STL/wiki/Changelog

VS 2022 17.10

...

Fixed bugs:

Fixed mutex's constructor to be constexpr. #3824 #4000 #4339
Note: Programs that aren't following the documented restrictions on binary compatibility may encounter null dereferences in mutex machinery. You must follow this rule:
When you mix binaries built by different supported versions of the toolset, the Redistributable version must be at least as new as the latest toolset used by any app component.

You can define _DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR as an escape hatch.


とあるのでプリプロセッサの定義に

_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR

を追加したら解決(いまいち納得行かないが)
