【发布时间】:2018-11-03 16:16:45
【问题描述】:
这个测试是为了准备编写一个更成熟的构建模块。但我需要先了解基础知识。渴望: - 将所有“目标文件”输出构建到输出文件夹 - 将它们链接到可分发的“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"`
【问题讨论】: