【发布时间】:2021-12-10 23:48:01
【问题描述】:
我正在尝试使用 Wasmer 编译与外部库链接的 C++ 文件。
我使用以下方法构建了external library:
git clone -b main https://github.com/open-quantum-safe/liboqs.git
cd liboqs
mkdir build && cd build
wasimake cmake -GNinja ..
wasimake ninja
因此,我得到了 liboqs.a 库,我想在我试图编译为 Wasm 的代码中重用它。
代码如下:
#include <stdio.h>
#include <oqs/oqs.h>
int main(void)
{
uint8_t public_key[OQS_KEM_frodokem_640_aes_length_public_key];
uint8_t secret_key[OQS_KEM_frodokem_640_aes_length_secret_key];
OQS_STATUS rc;
rc = OQS_KEM_frodokem_640_aes_keypair(public_key, secret_key);
printf("%d\t", (int)rc);
return 0;
}
使用此命令编译文件:
wasicc -I ../../build/include "liboqs.a" "example.cpp" -o example.wasm
../../build/include - 外部库的构建文件夹路径。
我收到此错误:
wasm-ld: error: liboqs.a(rand.c.o): undefined symbol: __memory_base
我不明白这个错误是什么意思,可能是什么原因。
【问题讨论】:
标签: c++ webassembly