Emscripten 헤더 문제 해결
3142 단어 webassemblychelp
배경
emscripten을 사용하여 node.js에서 실행되는 WASM용 Lua 5.4.0을 빌드하려고 합니다.
과거에는 Lua 래퍼(sol)를 사용하여 이전 emacripten 백엔드 및 C++로 이 작업을 성공적으로 수행했지만 이 추상화로 실제로는 아무 것도 배우지 못했고 C를 작성하는 것을 선호합니다.
문제
어떤 이유로 헤더를 해결하는 데 거의 성공하지 못했습니다. 다음은 사용 중인 컴파일러 플래그입니다(JavaScript의 셸에서 실행).
이제 기본 hello world를 컴파일할 수 있지만 헤더를 추가하면 emacripten이 알 수 없는 기호에 대해 불평합니다.
눈에 띄는 것이 있습니까?
나는 며칠 동안 시도하고 제한된 성공으로 모든 것을 검색했습니다.
[
'/Users/adam.crockett/Code/typescript/tidal-node/src/backend/c/main.c',
'-o /Users/adam.crockett/Code/typescript/tidal-node/target/tidal-node-glue.js',
'-fcolor-diagnostics',
'-s WASM=1',
'-s ENVIRONMENT=node',
'-I/Users/adam.crockett/Code/typescript/tidal-node/ops/tmp/lua-5.4.0/src',
'-L/Users/adam.crockett/Code/typescript/tidal-node/ops/tmp/lua-5.4.0/src',
'-lliblua',
`-s EXPORTED_RUNTIME_METHODS='["ccall","cwrap","UTF8ToString"]'`,
`-s "EXPORTED_FUNCTIONS=['_main', '_do_string']"`
]
luaL_newstate
#include <stdio.h>
#include <string.h>
//#include <emscripten.h>
#include "lua.h" // wont resolve
#include "lauxlib.h" // wont resolve
#include "lualib.h" // wont resolve
int main()
{
return 0;
}
int do_string(const int *script)
{
lua_State *L = luaL_newstate();
return 0;
}
Reference
이 문제에 관하여(Emscripten 헤더 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/adam_cyclones/emscripten-resolve-header-problem-1pna텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)