Я понял, как использовать WASM с nextjs через emscripten, но мое решение действительно глупое.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Я понял, как использовать WASM с nextjs через emscripten, но мое решение действительно глупое.

Сообщение Anonymous »

Я хотел вызвать функцию C++ из моего компонента next.js. Используя emscripten и флаги -sENVIRONMENT='web' -sMODULARIZE=1, я скомпилировал C++ в main.js и main.wasm. Я попробовал запустить его из компонента:

Код: Выделить всё

import Solver from '@/wasm/main';

export default function WasmComponent() {
const handleClick = async () => {
const Module = await Solver();
const test = Module.cwrap("myfunction", "string", ["string"]);
console.log(test("test"));
}

return (
Call the WASM Function!
)

}
Консоль продолжала выдавать ошибку, сообщая, что не удалось найти http://localhost/_next/static/chunks/main.wasm. Очевидно, мне нужно было загрузить файл .wasm в веб-пакет, но я не очень хорошо разбираюсь в веб-пакетах. После часа или двух возни с next.config.mjs ничего не получалось, и у меня начала болеть голова.
С другой стороны, я не мог понять, как это сделать. сообщите emscripten, чтобы он выбрал другой путь к файлу для чтения файла .wasm. Он всегда выглядел в http://localhost/_next/static/chunks/, и я не мог найти никаких вариантов настройки иначе.
Вот и моя гениальная теория : если я предоставляю файл статически по пути http://localhost/_next/static/chunks/main.wasm, то технически он будет в правильном месте. Я вручную создал эти каталоги в общедоступной папке моего проекта next.js, и это действительно сработало! Функция wasm запускается.
Но это явно не так. что я должен делать. Так. . . как правильно?

Подробнее здесь: https://stackoverflow.com/questions/784 ... ion-is-rea
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»