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

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

时间2025-07-10 22:55:44分类IT科技浏览4268
导读:最近在尝试用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
连云港SEO关键字优化(连云港SEO网站提升技巧) php面试技巧(php高级面试题的要点)