Biorąc najprostszych szybkich plików:Jak zdobyć Witam Słowo kompilacji ze Swifta do JavaScript za pomocą emscripten
println("lol")
To trywialne, aby uruchomić to w wierszu poleceń z xcrun swift -i lol.swift
lub skompilować do pliku wykonywalnego z xcrun swift lol.swift -o lol
, ale jak o prosty dowód koncepcji dla emscripten?
Nie używałem emscriptena wcześniej, ale otrzymałem przykład z hello świata przy użyciu C++ działającego pod numerem http://kripken.github.io/emscripten-site/docs/getting_started/Tutorial.html i chciałem również skompilować mój kod Swift.
Próbowałem
xcrun swift lol.swift -emit-bc -o lol.bc
emcc lol.bc
ale się
Value: %1 = call { i8*, i64, i64 } @_TFSS37_convertFromBuiltinUTF16StringLiteralfMSSFTBp17numberOfCodeUnitsBw_SS(i8* bitcast ([4 x i16]* @0 to i8*), i64 3)
LLVM ERROR: Unrecognized struct value
Traceback (most recent call last):
File "/Users/glen/Downloads/emsdk_portable/emscripten/1.16.0/emcc", line 1540, in <module>
shared.Building.llvm_opt(final, link_opts)
File "/Users/glen/Downloads/emsdk_portable/emscripten/1.16.0/tools/shared.py", line 1267, in llvm_opt
assert os.path.exists(target), 'Failed to run llvm optimizations: ' + output
AssertionError: Failed to run llvm optimizations:
myśli?