Ответ 1
В идеале у вас будет вся среда, когда она будет работать в управлении версиями, и создайте каждую версию, чтобы увидеть, где она сломалась.
У вас может быть ваш код в управлении версиями, но, возможно, не сам Emscripten. Если вы обновили Emscripten, это может привести к различиям в поведении. Я бы попытался вернуться к любой версии, которую вы использовали при ее запуске. Обратите внимание, что иногда разные каталоги кэша сохраняют изменения в версии Emscripten и, возможно, их нужно будет очистить вручную (я забыл, что именно).
Остальные зависимости могут означать, что вы пытаетесь что-то сделать, прежде чем Emscripten загрузит любые другие файлы, которые ему нужны, например файлы, запрошенные --preload-file
или --memory-init-file
. Обратите внимание, что в соответствии с https://kripken.github.io/emscripten-site/docs/getting_started/FAQ.html#faq-when-safe-to-call-compiled-functions вы не должны запускать какие-либо функции Emscripten, пока не будет запущена функция С++ main
. Чтобы обнаружить это, вы можете, например, вызвать свою собственную функцию Javascript из main
(есть другие способы).
Тот факт, что это не вызывало проблемы раньше, может быть чем-то, что кажется совершенно несвязанным: изменение или обновление в веб-браузере, изменение ограничений одновременных загрузок или изменение веб-сервера, на котором это выполняется. Вы можете посмотреть на вкладке "Сеть" в браузере, чтобы увидеть, что что-то скачет в вас как другое или подозрительное.
Однако, поскольку главное даже не достигнуто, возможно, это не так. Я бы попытался прокомментировать практически весь ваш код и сделать так, чтобы у вас практически ничего не было, кроме приветственной программы. Возможно, у вас нет правильной настройки в объекте Module, или, может быть, запрос на файл инициализации памяти терпит неудачу (вы можете проверить вкладку "Сеть" в браузере для этого). Если ваша основная мировая программа hello все еще не работает, вы можете опубликовать ее снова с помощью своего кода в отдельном вопросе.