Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

149
Views
¿Cuál es la forma correcta de vincular una clase de C ++ a javascript usando emscripten y embind?

Actualmente estoy intentando vincular una clase de C++ y su método (eventualmente, varios métodos, pero por ahora uno no funciona) a javascript. Actualmente estoy usando un archivo interface.cpp separado para manejar todos los enlaces de C++ para mayor claridad. Así es como se ve el archivo.

 #include <emscripten/bind.h> #include "board.h" using namespace emscripten; EMSCRIPTEN_BINDINGS(my_module){ class_<Board>("Board") .constructor() .function("MakeMove", &Board::MakeMove); }

board.h es un archivo de encabezado que contiene una clase Board, así como los métodos asociados. Estoy intentando compilar mi proyecto con este comando: emcc --bind src/* -I include -I ../emsk/emsdk/upstream/include/ src/* solo contiene todos mis archivos fuente .cpp e include/ contains todos mis archivos de encabezado. Cuando lo ejecuto, recibo este error:

 emcc --bind src/* -I include -I ../emsk/emsdk/upstream/include/ src/interface.cpp:8:10: error: no matching member function for call to 'function' .function("MakeMove", &Board::MakeMove); ~^~~~~~~~ /home/sethbassetti/emsk/emsdk/upstream/emscripten/cache/sysroot/include/emscripten/bind.h:1567:44: note: candidate template ignored: couldn't infer template argument 'Callable' EMSCRIPTEN_ALWAYS_INLINE const class_& function(const char* methodName, Callable callable, Policies...) const { ^ 1 error generated. emcc: error: '/home/sethbassetti/emsk/emsdk/upstream/bin/clang++ -target wasm32-unknown-emscripten -DEMSCRIPTEN -fignore-exceptions -fvisibility=default -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -D__EMSCRIPTEN_major__=3 -D__EMSCRIPTEN_minor__=1 -D__EMSCRIPTEN_tiny__=1 -D_LIBCPP_ABI_VERSION=2 -Werror=implicit-function-declaration -Xclang -iwithsysroot/include/SDL --sysroot=/home/sethbassetti/emsk/emsdk/upstream/emscripten/cache/sysroot -Xclang -iwithsysroot/include/compat -Iinclude -I../emsk/emsdk/upstream/include/ src/interface.cpp -c -o /tmp/emscripten_temp_gfg6j40o/interface_2.o' failed (returned 1)

No estoy seguro de cuál es el problema, ya que estoy siguiendo la documentación para incorporar casi exactamente para vincular las clases de C++ a javascript. He jugado con muchas versiones diferentes de esto y nada parece ser capaz de realizar este enlace de clase + método. ¡Cualquier ayuda sería apreciada!

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!