首页 » PHP教程 » zxingphp源码下载技巧_若何经由进程WASI SDK 在Linux上编译ZXing C

zxingphp源码下载技巧_若何经由进程WASI SDK 在Linux上编译ZXing C

访客 2024-12-18 0

扫一扫用手机浏览

文章目录 [+]

设置环境变量:

sudo dpkg -i wasi-sdk_7.0_amd64.debexport PATH=/opt/wasi-sdk/bin:$PATHexport CC=/opt/wasi-sdk/bin/clangexport CXX=/opt/wasi-sdk/bin/clang++

从GitHub高下载一份ZXing C++的源码(https://github.com/nu-book/zxing-cpp)。

zxingphp源码下载技巧_若何经由进程WASI SDK 在Linux上编译ZXing C

接下来要对工程构造做一些修正。
首先在example中的CMakeLists.txt文件里设置sysroot:

zxingphp源码下载技巧_若何经由进程WASI SDK 在Linux上编译ZXing C
(图片来自网络侵删)

set (CMAKE_SYSROOT /opt/wasi-sdk/share/wasi-sysroot)

由于目前的wasi-libc不支持C++的非常处理,以是要加上-fno-exceptions:

set (CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} — target=wasm32-wasi -Wall -Wextra -fno-exceptions”)

要编译的文件包含了scan_image.cpp以及ZXing干系的源码文件。
把他们整合在一起。
然后去掉所有源码中的非常处理代码。

编译工程:

mkdir buildcd buildcmake ..cmake --build .

接下来就可以运行wasm文件了:

$ wasmer run zxing_barcode_reader.wasm — dir=$(pwd)/../ $(pwd)/../test.pngText: MEBKM:URL:http\://en.wikipedia.org/wiki/Main_Page;;Format: QR_CODEPosition: 190x367 205x162 422x165 405x342EC Level: M$ wasmtime zxing_barcode_reader.wasm — dir=$(pwd)/../ $(pwd)/../test.pngText: MEBKM:URL:http\://en.wikipedia.org/wiki/Main_Page;;Format: QR_CODEPosition: 190x367 205x162 422x165 405x342EC Level: M

通过wapm(https://wapm.io/)发布之后也可以用wapm来运行:

源码

https://github.com/yushulx/wasi-zxing-wasm

标签:

相关文章