首页IT科技make编译完成之后怎么执行(利用xmake在c++项目中编译与调用webassmebly)

make编译完成之后怎么执行(利用xmake在c++项目中编译与调用webassmebly)

时间2025-08-30 11:57:55分类IT科技浏览4977
导读:最近在尝试用webassembly替代lua作为c++程序的脚本。刚好xmake也支持了webassembly的编译。下面是踩坑记录。...

最近在尝试用webassembly替代lua作为c++程序的脚本              。刚好xmake也支持了webassembly的编译                     。下面是踩坑记录       。

项目需要两个target:一个c++项目              、一个webassembly项目       。需要自动编译webassembly              ,并且c++项目依赖webassembly的编译结果                     。下面是我的测试项目的xmake配置:

webassembly的实现我选用了wasmer              。第一个target是webassembly项目       。我选用了emscripten作为编译工具                     。实现了after_build事件                     ,用于在编译完成后将wasm文件拷贝到项目目录下的scriptsout目录              。并且也设置了cleanfiles       ,这样清理项目的时候可以自动清理scriptsout目录。“ERROR_ON_UNDEFINED_SYMBOLS              ”是emscripten的编译选项       ,用于通知编译器发现使用了外部导入的函数不要报错                     。第二个target是c++项目                     ,就正常设置即可              ,这里设置了依赖scripts                     。最后设置运行目录为项目目录       ,这样每次运行的时候可以方便的引用到scriptsout目录。

后记:本来想使用wamr的                     ,但官方没有提供conan包              ,所以只好使用wasmer了              。我尽量使用wasm-c-api,这样后面切换起来也方便                     。还有xmake官方说支持wasi不过我还没尝试成功       。看源码wasi调用的是clang                     ,可能是我的编译目标没设置对              。

声明:本站所有文章                     ,如无特殊说明或标注,均为本站原创发布                     。任何个人或组织              ,在未征得本站同意时                     ,禁止复制                     、盗用       、采集              、发布本站内容到任何网站                     、书籍等各类媒体平台       。如若本站内容侵犯了原著者的合法权益       ,可联系我们进行处理       。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
fws文件(fwenc.exe是什么进程 有什么作用 fwenc进程查询) smx系列液压扳手说明(fts.exe是什么进程 有什么作用 fts进程查询)