Emscripten C++ Библиотека Ссылка
У меня есть базовая программа C++ GLUT, и я пытаюсь запустить код Javascript изнутри функций C++. Я нашел Emscripten и провел много тестов, но я не могу понять, как на самом деле использовать его в своих проектах. Я добавил папку emscripten в каталоги поиска моего компилятора и смог включить #include, но я продолжаю получать "неопределенную ссылку на emscripten_run_script". Я знаю, что это проблема отсутствия ссылок на библиотеки (-1SDL, -1glew32 и т. Д.). Я проверил примеры и учебные пособия на веб-сайте Emscripten, но мне не нужен код, мне нужны проекты примеров или просто имя и местоположение библиотеки Emscripten. Как связать Emscripten, чтобы я мог вызывать функции Emscripten из моей программы, или это вообще возможно?
РЕДАКТИРОВАТЬ:
Поскольку Emscripten является компилятором Javascript, есть ли способ (вместо того, чтобы связать библиотеку с моим проектом), чтобы Emscripten выступал в качестве компилятора для части кода, а затем переключиться обратно на g++?
0 ответов
Вот пример проекта, который работает, когда вы добавляете вызовы к emscripten_run_script. Загрузите образец программы OpenGL Тима Хаттона на C++ и добавьте этот код в первую строку функции main():
emscripten_run_script("alert('hi')");
Работает отлично. Я только что протестировал его, и он отображает предупреждение, как и было задумано. Я использовал последнюю версию Emscripten SDK для Windows и использовал эту команду для компиляции main.cpp:
emcc main.cpp -s WASM=1 -s USE_SDL=2 -O3 -o index.js
Я также попробовал встроенный метод JavaScript с использованием EM_JS. Вы можете прочитать обо всем этом здесь.
Я тестировал это как при компиляции в WebAssembly (-s WASM=1), так и в JavaScript (-s WASM=0). Оба случая работают отлично и ведут себя одинаково.