使用 emscripten 编译 Xcode 项目

标签 c xcode emscripten

目前,我有一个使用多个库的 XCode 项目(用 C 编写)。我正在尝试使用 emscripten 转换为 Javscript,但所有命令都遇到问题。

我尝试过复制XCode编译代码并将llvm更改为./emcc,但没有成功。这是我尝试过的。有人有这方面的经验吗?谢谢!

./emcc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -L/Users/myuser/Library/Developer/Xcode/DerivedData/mySwiper-gifiucyvairwgigeuhojnmfnmbyy/Build/Products/Debug -F/Users/myuser/Library/Developer/Xcode/DerivedData/mySwiper-gifiucyvairwgigeuhojnmfnmbyy/Build/Products/Debug -filelist /Users/myuser/Library/Developer/Xcode/DerivedData/mySwiper-gifiucyvairwgigeuhojnmfnmbyy/Build/Intermediates/mySwiper.build/Debug/decodetool.build/Objects-normal/x86_64/decodetool.LinkFileList -mmacosx-version-min=10.10 -fobjc-arc -fobjc-link-runtime -framework Accelerate -framework AVFoundation -framework CoreFoundation -framework Foundation -framework AudioToolbox /Users/myuser/Library/Developer/Xcode/DerivedData/mySwiper-gifiucyvairwgigeuhojnmfnmbyy/Build/Products/Debug/physicalComputation.a -Xlinker -dependency_info -Xlinker /Users/myuser/Library/Developer/Xcode/DerivedData/mySwiper-gifiucyvairwgigeuhojnmfnmbyy/Build/Intermediates/mySwiper.build/Debug/decodetool.build/Objects-normal/x86_64/decodetool_dependency_info.dat -o /Users/myuser/Library/Developer/Xcode/DerivedData/mySwiper-gifiucyvairwgigeuhojnmfnmbyy/Build/Products/Debug/decodetool

最佳答案

你在这里尝试做的事情没有意义。您需要退后一步,思考一下您在做什么。

Emscripten 只能编译已经以可移植方式构建的代码。它无法翻译项目中依赖于大型 native 库的代码,例如 CoreFoundation、AVFoundation 和 AudioToolbox(等等)。此外,它无法编译 Objective-C 代码。

关于使用 emscripten 编译 Xcode 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31417691/

相关文章:

javascript - 奇怪的 C 程序前缀增量行为与 Javascript

ios - Xcode 6 Swift WebThread 崩溃并出现 EXC_BAD_ACCESS 错误

ios - Xcode 奇怪的调试器问题?

c++ - 如何强制 emscripten/em++/llvm 从 .rodata 加载常量和/或执行更好的 SIMD 优化?

emscripten - 断言失败 : native function `int_sqrt` called before runtime initialization error while calling c function in . js 文件 (emscripten)

javascript - 在 Rails 上加载 WebAssembly 二进制文件

c - 是否在任何 stdlib header 中定义了 uint32、int32、uint64、int64 等类型?

c - Oracle beq 和 popen()

C - 当标准输入的缓冲区中已有数据时,在标准输入上选择()

ios - enumerateKeysAndObjectsUsingBlock BOOL *停止