I’m doing some experiments to try and see what performance is like using emscripten, but I’m new to this and am hitting some walls. I tried using emmake on the examples/3d/3DPrimitivesExample , but it seems to not be linking up the ofxEmscripten addon stuff. I have been able to get the same example to load and compile in xcode. Initially I tried the osx distribution, but I got the same error, so I checked out the stable branch from github. Here’s what I am getting…
openFrameworks git:(stable) ✗ cd examples/3d/3DPrimitivesExample
➜ 3DPrimitivesExample git:(stable) ✗ emmake make
HOST_OS=Darwin
Compiling OF library for Release
HOST_OS=Darwin
HOST_OS=Darwin
Compiling /somefolder/openFrameworks/libs/openFrameworks/video/ofQTKitGrabber.mm
python /somefolder/emsdk/emscripten/1.37.34/em++.py -Os -DNDEBUG -mtune=native -stdlib=libc++ -Wall -fexceptions -fpascal-strings -mmacosx-version-min=10.7 -D__MACOSX_CORE__ -I/somefolder/openFrameworks/libs/FreeImage/include -I/somefolder/openFrameworks/libs/boost/include -I/somefolder/openFrameworks/libs/boost/include/boost -I/somefolder/openFrameworks/libs/cairo/include -I/somefolder/openFrameworks/libs/cairo/include/cairo -I/somefolder/openFrameworks/libs/fmodex/include -I/somefolder/openFrameworks/libs/freetype/include -I/somefolder/openFrameworks/libs/freetype/include/freetype2 -I/somefolder/openFrameworks/libs/freetype/include/freetype2/config -I/somefolder/openFrameworks/libs/freetype/include/freetype2/internal -I/somefolder/openFrameworks/libs/freetype/include/freetype2/internal/services -I/somefolder/openFrameworks/libs/glew/include -I/somefolder/openFrameworks/libs/glew/include/GL -I/somefolder/openFrameworks/libs/glfw/include -I/somefolder/openFrameworks/libs/glfw/include/GLFW -I/somefolder/openFrameworks/libs/glu/include -I/somefolder/openFrameworks/libs/glut/include -I/somefolder/openFrameworks/libs/kiss/include -I/somefolder/openFrameworks/libs/openssl/include -I/somefolder/openFrameworks/libs/openssl/include/openssl -I/somefolder/openFrameworks/libs/poco/include -I/somefolder/openFrameworks/libs/rtAudio/include -I/somefolder/openFrameworks/libs/tess2/include -I/somefolder/openFrameworks/libs/utf8cpp/include -I/somefolder/openFrameworks/libs/utf8cpp/include/utf8 -I/somefolder/openFrameworks/libs/openFrameworks -I/somefolder/openFrameworks/libs/openFrameworks/3d -I/somefolder/openFrameworks/libs/openFrameworks/video -I/somefolder/openFrameworks/libs/openFrameworks/types -I/somefolder/openFrameworks/libs/openFrameworks/app -I/somefolder/openFrameworks/libs/openFrameworks/utils -I/somefolder/openFrameworks/libs/openFrameworks/math -I/somefolder/openFrameworks/libs/openFrameworks/gl -I/somefolder/openFrameworks/libs/openFrameworks/communication -I/somefolder/openFrameworks/libs/openFrameworks/events -I/somefolder/openFrameworks/libs/openFrameworks/graphics -I/somefolder/openFrameworks/libs/openFrameworks/sound -x objective-c++ -std=c++11 -MMD -MP -MF /somefolder/openFrameworks/libs/openFrameworksCompiled/lib/osx/obj/Release/libs/openFrameworks/video/ofQTKitGrabber.d -MT/somefolder/openFrameworks/libs/openFrameworksCompiled/lib/osx/obj/Release/libs/openFrameworks/video/ofQTKitGrabber.o -o /somefolder/openFrameworks/libs/openFrameworksCompiled/lib/osx/obj/Release/libs/openFrameworks/video/ofQTKitGrabber.o -c /somefolder/openFrameworks/libs/openFrameworks/video/ofQTKitGrabber.mm
clang++: warning: argument unused during compilation: '-mmacosx-version-min=10.7' [-Wunused-command-line-argument]
In file included from /somefolder/openFrameworks/libs/openFrameworks/video/ofQTKitGrabber.mm:2:
In file included from /somefolder/openFrameworks/libs/openFrameworks/video/ofQTKitGrabber.h:5:
In file included from /somefolder/openFrameworks/libs/openFrameworks/ofMain.h:89:
/somefolder/openFrameworks/libs/openFrameworks/sound/ofSoundStream.h:20:11: fatal error: 'ofxEmscriptenSoundStream.h' file not found
#include "ofxEmscriptenSoundStream.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
ERROR:root:compiler frontend failed to generate LLVM bitcode, halting
make[2]: *** [/somefolder/openFrameworks/libs/openFrameworksCompiled/lib/osx/obj/Release/libs/openFrameworks/video/ofQTKitGrabber.o] Error 1
make[1]: *** [Release] Error 2
make: *** [Release] Error 2
Some extra details
➜ 3DPrimitivesExample git:(stable) ✗ ls ../../../addons/ofxEmscripten/src/
ofxAppEmscriptenWindow.cpp ofxEmscriptenSoundPlayer.h ofxEmscriptenURLFileLoader.cpp ofxEmscriptenVideoGrabber.h
ofxAppEmscriptenWindow.h ofxEmscriptenSoundStream.cpp ofxEmscriptenURLFileLoader.h ofxEmscriptenVideoPlayer.cpp
ofxEmscriptenSoundPlayer.cpp ofxEmscriptenSoundStream.h ofxEmscriptenVideoGrabber.cpp ofxEmscriptenVideoPlayer.h
➜ openFrameworks git:(stable) ✗ xcodebuild -version
Xcode 9.2
Build version 9C40b
➜ openFrameworks git:(stable) ✗ sw_vers
ProductName: Mac OS X
ProductVersion: 10.13.3
BuildVersion: 17D102
➜ openFrameworks git:(stable) ✗ emsdk list
The following precompiled tool packages are available for download:
clang-nightly-e1.37.34-2018_02_17_19_38-64bit
clang-nightly-e1.37.34-2018_02_17_21_02-64bit
clang-e1.30.0-64bit
clang-e1.34.1-64bit
clang-e1.35.0-64bit
clang-e1.37.1-64bit
clang-e1.37.33-64bit
* clang-e1.37.34-64bit INSTALLED
node-4.1.1-64bit
* node-8.9.1-64bit INSTALLED
spidermonkey-37.0.1-64bit
spidermonkey-nightly-2015-04-12-64bit
emscripten-1.30.0
emscripten-1.34.1
emscripten-1.35.0
emscripten-1.37.1
emscripten-1.37.33
* emscripten-1.37.34 INSTALLED
emscripten-nightly-1.37.34-2018_02_20_19_53
emscripten-nightly-1.37.34-2018_02_20_22_08
crunch-1.04
The following tools can be compiled from source:
clang-tag-e1.37.34-32bit
clang-tag-e1.37.35-32bit
clang-tag-e1.37.34-64bit
clang-tag-e1.37.35-64bit
clang-incoming-32bit
clang-incoming-64bit
clang-master-32bit
clang-master-64bit
emscripten-tag-1.37.34-32bit
emscripten-tag-1.37.35-32bit
emscripten-tag-1.37.34-64bit
emscripten-tag-1.37.35-64bit
binaryen-tag-1.37.34-32bit
binaryen-tag-1.37.35-32bit
binaryen-tag-1.37.34-64bit
binaryen-tag-1.37.35-64bit
emscripten-incoming-32bit
emscripten-master-32bit
emscripten-incoming-64bit
emscripten-master-64bit
binaryen-master-32bit
binaryen-master-64bit
The following precompiled SDKs are available for download: (Run "git pull" followed by "./emsdk update-tags" to pull in the latest list)
sdk-nightly-1.37.34-2018_02_17_19_38-64bit
sdk-nightly-1.37.34-2018_02_17_21_02-64bit
sdk-1.30.0-64bit
sdk-1.34.1-64bit
sdk-1.35.0-64bit
sdk-1.37.33-64bit
* sdk-1.37.34-64bit INSTALLED
The following SDKs can be compiled from source:
sdk-incoming-64bit
sdk-master-64bit
sdk-tag-1.37.34-64bit
sdk-tag-1.37.35-64bit
Items marked with * are activated for the current user.
To access the historical archived versions, type 'emsdk list --old'