Сложность заключалась в том, чтобы собрать Boost::serialization
для wasm и x86.
Clone boost, войти в клонированный каталог.
wasm
Я закончил с этой строкой (лоскутное одеяло многих исследований в Интернете; я даже не уверен в значении / полезности каждого аргумента)
./b2 toolset=emscripten link=static variant=release threading=single --prefix=build_wasm --build-dir=build_wasm runtime-like=static serialization
x86
./bootstrap.sh --prefix=build_x86
./b2
следующий
На данный момент у нас есть два отдельных каталога build_wasm
и build_x86
для ссылки.
На этом этапе я не помню, как мне удалось получить файл libboost_serialization.bc
.
cmake
В моем CMakeLists.txt
ключевые строки:
set(BoostWasm_DIR "/absolute/path/to/build_wasm")
set(BoostWasm_emm "${BoostWasm_DIR}/boost/bin.v2/libs/serialization/build/emscripten-1.39.13/release/link-static/visibility-hidden")
include_directories(${BoostWasm_DIR}/include)
file(GLOB boost_js "${BoostWasm_emm}/libboost_serialization.bc")
target_link_libraries( write_normalized ${boost_js} )
Поскольку это рабочий проект, у меня нет ссылки на полный рабочий пример.
сборка
emcmake cmake .
emmake make