Этот тест предназначен для подготовки к написанию более полноценного модуля сборки. Но сначала мне нужно выяснить основы. Желание: - собрать все выходные "объектные файлы" в выходную папку - связать их в распространяемый двоичный файл "wasm", отформатировать html-страницу и вывести их в папку "dist".
Я посмотрел руководство в:
https://kripken.github.io/emscripten-site/docs/tools_reference/emcc.html
Это не так интуитивно или явно прописано, как хотелось бы. Ниже моя текущая простая тестовая сборка.
#!/bin/bash
# set emscripten toolchain paths in this shell
source "${HOME}/emsdk/emsdk_env.sh" --build=Release
BuildDir="./build" # root of output dir for built files
SrcDir="./src" # a source code directory
ObjDir="${BuildDir}/obj" # where intermediate "object" files are output to.
IncludeDir="./include" # an include directory
# start clean for this test
rm -fr "${BuildDir}"
mkdir -p "${ObjDir}" # also re-creates BuildDir
# compile source code out to ObjDir
emcc --default-obj-ext .bc -o "${ObjDir}/" -I "${IncludeDir}" \
"${SrcDir}/hello.cpp" "${SrcDir}/TestClass.cpp"`
Выполнение вышеописанного дает мне ошибки, но работает, если есть только один исходный файл.
Is a directory
Traceback (most recent call last):
File "/home/peterk/emsdk/emscripten/incoming/emcc.py", line 3107, in <module>
...
status 1
peterk@5a4a702ca3b5:~/didi-wasmtest/test$
Приведенное ниже работает, но все выходные файлы помещаются в папку src/, а также присваиваются им суффикс .o, а не суффикс .bc: он также выводит файлы .out.js и .out.wasm в каталоге, в котором находится скрипт. бежать от. Я хотел бы подавить это до финальной фазы «ссылки», когда результаты нескольких компиляций будут связаны вместе на отдельном шаге.
emcc --default-obj-ext .bc -I "${IncludeDir}" \
"${SrcDir}/hello.cpp" "${SrcDir}/TestClass.cpp"`