mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-26 23:17:34 +00:00
libopus.dll собирается кросс-компилятором mingw-w64, а opus по умолчанию включает защиту стека (OPUS_STACK_PROTECTOR → -fstack-protector-strong). В mingw эта защита живёт в отдельной библиотеке, поэтому в импортах DLL стоит libssp-0.dll, и без неё LoadLibrary возвращает «модуль не найден» — жалуясь на ЗАВИСИМОСТЬ, а не на саму libopus. Снаружи это выглядит как «библиотека лежит рядом с exe, а её не видят»: ровно на это и напоролись. Проверено разбором заголовков самой DLL: PE32+ x86-64 (разрядность верная), экспорт полный, импорт — KERNEL32.dll, msvcrt.dll и libssp-0.dll. Альтернатива — собирать opus с -DOPUS_STACK_PROTECTOR=OFF и не таскать файл; выбран вариант с DLL, чтобы у кодека, который разбирает присланное браузером, защита стека осталась.