0.10.0 Release candidate 3


The libcrypto issue is just a missing library as explained above.

You can just add it in your main by now like;

    #include “ofMain.h”
    #include “ofApp.h”

    #pragma comment (lib, “crypt32”);
    int main( ){

    ofSetupOpenGL(1024,768, OF_WINDOW); // <-------- setup the GL context

    // this kicks off the running of my app
    // can be OF_WINDOW or OF_FULLSCREEN
    // pass in width and height too:
    ofRunApp( new ofApp());


The project generator is just saying vs2015 but generating vs2017 projects, we just need to change the label in the gui.

To get windows to open the file in 2017 as default you’ll need to change the default settings, if i remember well by pressing shitf right click on the file, selecitng open with and then selecting vs2017 and marking it as default


Thanks. At the moment I did not have any error with the crypto issue but if, I will know how to solve it. Windows is already opening all the projects in vs 2017, it is the only vs version that I have installed.


I tried to compile and run some of my projects with:


and everything seems to work
i also tried emscripten on linux and works correctly

It is a long time i use glm in openframeworks
and i have not had any problems with my projects.

I love a lot ofMaterialSettings!!

thanks guys


Hi @arturo ,

I’m doing other tests with android when i try to compile an apk signed the release mode

i get this error:

Error: The WIFI_SERVICE must be looked up on the Application context or memory will leak on devices < Android N. Try changing to .getApplicationContext() [WifiManagerLeak]

I replaced this line:

with this:

WifiManager wifi = (WifiManager)OFAndroidLifeCycle.getActivity().getApplicationContext().getSystemService( Context.WIFI_SERVICE );

and now i no longer have this error!
this error only occurs in release mode.


this change i do not know if it creates problems in managing the wifi, i have not tried this function directly!


That looks good to me, can you send a PR?


I created a pull request.


Yep, true… One question, as Ubuntu does not link openssl anymore by default and the system wide version is 1.0 (at least until the release of 18.04 tomorrow) what will be the proper strategy? I was thinking to try:

  • Linux, including openssl 1.1 in the static lib
  • Windows, against 1.1 but without including the library to avoid duplicate symbols with the ofx compilation in VS.

Am I correct?

I have being trying other complex application and I couldn’t find any other problems in VS2017 or Linux64 (Ubuntu 16.04.3), and the majority of addons works without any major problem or with minimal changes, mostly related to the handling of the std library.


I think this was only a problem in windows where poco was trying to link to the libraries in the headers and not finding them but in linux poco is compiled against the libraries in the system and compiles fine so i imagine that it shouldn’t be a problem

We could just remove poco libraries for linux since it’s now pretty up to date in most recent distributions but since the test servers use a very old version of ubuntu it would be problematic so we need to keep them or try to find a way to bring the new packages into ubuntu 14.04


Hi, one problem I think I found, or probably I misunderstood. Relative to new key events event, explained in http://blog.openframeworks.cc

When running a empty example. I have changed:

void ofApp::keyPressed(int key)


void ofApp::keyPressed(ofKeyEventArgs &key){
         cout< <key.codepoint << ", " << key.key << endl;

Comparing from the latest stable release and the new proposed one, trying to get the lettter pressed with some modifier key hold, the results for both versions are (MACOSX):

  • 0.9.8 ->'e' (without command hold) = 101, 101 // 'e' (with command hold) = 101, 101
  • 0.10.0RC3 -> 'e' (without command hold) = 101, 101 // 'e' (with command hold) = 5, 5

As blog says: You can keep using ofKeyEventArgs::key as before , It seems to me there is a bug in here.



hi, my plugin with id ‘com.android.model.native’ not found.

i think my build.gradle was fragged during transmission (very bad network conditions atm)

could help?

what is lowest version deployable=?


def ofRoot(){ return '../../../../' }
final ofSource = ofRoot() + 'libs/openFrameworks'
final ofLibs = ofRoot() + 'libs'
final addons = ofRoot() + 'addons'

buildscript {
    repositories {
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.1'

// Load common functions
apply from: "common-functions.gradle"

apply plugin: "com.android.model.native"
//apply plugin: 'android-library'

model {
    android {
        compileSdkVersion 19
        defaultConfig.with {
            minSdkVersion.apiLevel 19
            targetSdkVersion.apiLevel 19

        ndk {
            platformVersion = "19"
            moduleName "openFrameworksLib"
            toolchain  = buildToolchain()
            stl        = compilerStl()

        sources {
            main {
                jni {
                    source {
                        srcDirs = [
                        excludes = ["**/ofQtUtils.cpp",

    android.productFlavors {
        getAbis().each { abi ->
            create(getFlavorName(abi)) {
                ndk {
                    cppFlags.addAll(coreCppFlags(abi, ofRoot()))
                    ldLibs.addAll(coreLdLibs(abi, ofRoot()))
                    ldFlags.addAll(coreLdFlags(abi, ofRoot()))


hi again, was this already working or too soon?

make AppImageRelease && make AppImageDebug


In RC3, with GLKit on iOS there is no rendering if an FBO is used.

The project to reproduce the issue is here:


can you open an issue on github


We figured out the reason for what @Thinium describes above: drawing to the fbo inside the draw() method instead of the update() method. This is not an issue in Linux nor in iOS pre-GLKit. Somehow GLKit does not allow drawing to the fbo inside draw(). Should we still post this to GitHub?


OF0.10.0-RC3, ofTrueTypeFont does not work properly on RaspberryPi3-Raspbian(stretch) with the drawString() method. Here are the codes:

void ofApp::setup(){
ofTrueTypeFontSettings settings( “fz.ttf”, 36);
void ofApp::draw(){
char fpsStr[256];
sprintf(fpsStr, “framerate: %f”, ofGetFrameRate());
_font.drawString(fpsStr, 100,100);
_font.drawString(“你好,OF!”, 100,400);

and the snapshot of the running OF window on Raspbian:

And I changed to use drawStringAsShapes(), the window will take about 10 seconds(tooooo long) to show up, but the Chinese characters could be displayed properly. Here are the codes:

void ofApp::setup(){
ofTrueTypeFontSettings settings( “fz.ttf”, 36);
void ofApp::draw(){
char fpsStr[256];
sprintf(fpsStr, “framerate: %f”, ofGetFrameRate());
_font.drawStringAsShapes(fpsStr, 100,100);
_font.drawStringAsShapes(“你好,OF!”, 100,400);

and the snapshot of the running OF window on Raspbian:


the make path is looking very good, better than ide, but still not working for me.

/opt/openFrameworks/libs/openFrameworksCompiled/project$ make Release PLATFORM_OS=Android

Compiler flags have changed, recompiling
Old: -Os -DNDEBUG -Wall -std=c++14 -nostdlib --sysroot=/opt/android-ndk-r15c/platforms/android-19/arch-arm/ -fpic -ffunction-sections -funwind-tables -fstack-protector-strong -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -no-canonical-prefixes -gcc-toolchain /opt/android-ndk-r15c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 -no-integrated-cpp -target armv7-none-linux-androideabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -DANDROID -I/opt/android-ndk-r15c/platforms/android-19/arch-arm//usr/include/ -I/opt/android-ndk-r15c/sources/cxx-stl/llvm-libc++/libcxx/include -I/opt/android-ndk-r15c/sources/cxx-stl/llvm-libc++/include -I/opt/android-ndk-r15c/sources/android/support/include -I/opt/openFrameworks/libs/glu/include_android -I/opt/openFrameworks/addons/ofxAndroid/src -I/opt/openFrameworks/libs/FreeImage/include -I/opt/openFrameworks/libs/boost/include -I/opt/openFrameworks/libs/boost/include/boost -I/opt/openFrameworks/libs/curl/include -I/opt/openFrameworks/libs/curl/include/curl -I/opt/openFrameworks/libs/freetype/include -I/opt/openFrameworks/libs/freetype/include/freetype2 -I/opt/openFrameworks/libs/freetype/include/freetype2/freetype -I/opt/openFrameworks/libs/freetype/include/freetype2/freetype/internal -I/opt/openFrameworks/libs/freetype/include/freetype2/freetype/internal/services -I/opt/openFrameworks/libs/freetype/include/freetype2/freetype/config -I/opt/openFrameworks/libs/glm/include -I/opt/openFrameworks/libs/glm/include/glm -I/opt/openFrameworks/libs/glm/include/glm/simd -I/opt/openFrameworks/libs/glm/include/glm/gtc -I/opt/openFrameworks/libs/glm/include/glm/gtxdd -I/opt/openFrameworks/libs/glm/include/glm/detail -I/opt/openFrameworks/libs/json/include -I/opt/openFrameworks/libs/openssl/include -I/opt/openFrameworks/libs/openssl/include/openssl -I/opt/openFrameworks/libs/pugixml/include -I/opt/openFrameworks/libs/tess2/include -I/opt/openFrameworks/libs/uriparser/include -I/opt/openFrameworks/libs/uriparser/include/uriparser -I/opt/openFrameworks/libs/utf8/include -I/opt/openFrameworks/libs/utf8/include/utf8 -I/opt/openFrameworks/libs/openFrameworks -I/opt/openFrameworks/libs/openFrameworks/3d -I/opt/openFrameworks/libs/openFrameworks/utils -I/opt/openFrameworks/libs/openFrameworks/sound -I/opt/openFrameworks/libs/openFrameworks/types -I/opt/openFrameworks/libs/openFrameworks/communication -I/opt/openFrameworks/libs/openFrameworks/app -I/opt/openFrameworks/libs/openFrameworks/gl -I/opt/openFrameworks/libs/openFrameworks/graphics -I/opt/openFrameworks/libs/openFrameworks/events -I/opt/openFrameworks/libs/openFrameworks/video -I/opt/openFrameworks/libs/openFrameworks/math
New -Os -DNDEBUG -Wall -std=c++14 -nostdlib --sysroot=/opt/android-ndk-r15c/platforms/android-19/arch-arm/ -fpic -ffunction-sections -funwind-tables -fstack-protector-strong -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -no-canonical-prefixes -gcc-toolchain /opt/android-ndk-r15c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 -fno-integrated-as -target armv7-none-linux-androideabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -DANDROID -I/opt/android-ndk-r15c/platforms/android-19/arch-arm//usr/include/ -I/opt/android-ndk-r15c/sources/cxx-stl/llvm-libc++/libcxx/include -I/opt/android-ndk-r15c/sources/cxx-stl/llvm-libc++/include -I/opt/android-ndk-r15c/sources/android/support/include -I/opt/openFrameworks/libs/glu/include_android -I/opt/openFrameworks/addons/ofxAndroid/src -I/opt/openFrameworks/libs/FreeImage/include -I/opt/openFrameworks/libs/boost/include -I/opt/openFrameworks/libs/boost/include/boost -I/opt/openFrameworks/libs/curl/include -I/opt/openFrameworks/libs/curl/include/curl -I/opt/openFrameworks/libs/freetype/include -I/opt/openFrameworks/libs/freetype/include/freetype2 -I/opt/openFrameworks/libs/freetype/include/freetype2/freetype -I/opt/openFrameworks/libs/freetype/include/freetype2/freetype/internal -I/opt/openFrameworks/libs/freetype/include/freetype2/freetype/internal/services -I/opt/openFrameworks/libs/freetype/include/freetype2/freetype/config -I/opt/openFrameworks/libs/glm/include -I/opt/openFrameworks/libs/glm/include/glm -I/opt/openFrameworks/libs/glm/include/glm/simd -I/opt/openFrameworks/libs/glm/include/glm/gtc -I/opt/openFrameworks/libs/glm/include/glm/gtx -I/opt/openFrameworks/libs/glm/include/glm/detail -I/opt/openFrameworks/libs/json/include -I/opt/openFrameworks/libs/openssl/include -I/opt/openFrameworks/libs/openssl/include/openssl -I/opt/openFrameworks/libs/pugixml/include -I/opt/openFrameworks/libs/tess2/include -I/opt/openFrameworks/libs/uriparser/include -I/opt/openFrameworks/libs/uriparser/include/uriparser -I/opt/openFrameworks/libs/utf8/include -I/opt/openFrameworks/libs/utf8/include/utf8 -I/opt/openFrameworks/libs/openFrameworks -I/opt/openFrameworks/libs/openFrameworks/3d -I/opt/openFrameworks/libs/openFrameworks/utils -I/opt/openFrameworks/libs/openFrameworks/sound -I/opt/openFrameworks/libs/openFrameworks/types -I/opt/openFrameworks/libs/openFrameworks/communication -I/opt/openFrameworks/libs/openFrameworks/app -I/opt/openFrameworks/libs/openFrameworks/gl -I/opt/openFrameworks/libs/openFrameworks/graphics -I/opt/openFrameworks/libs/openFrameworks/events -I/opt/openFrameworks/libs/openFrameworks/video -I/opt/openFrameworks/libs/openFrameworks/math
Compiling /opt/openFrameworks/libs/openFrameworks/3d/ofCamera.cpp
g++ -Os -DNDEBUG -Wall -std=c++14 -nostdlib --sysroot=/opt/android-ndk-r15c/platforms/android-19/arch-arm/ -fpic -ffunction-sections -funwind-tables -fstack-protector-strong -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -no-canonical-prefixes -gcc-toolchain /opt/android-ndk-r15c/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 -fno-integrated-as -target armv7-none-linux-androideabi -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -DANDROID -I"/opt/android-ndk-r15c/platforms/android-19/arch-arm//usr/include/" -I"/opt/android-ndk-r15c/sources/cxx-stl/llvm-libc++/libcxx/include" -I"/opt/android-ndk-r15c/sources/cxx-stl/llvm-libc++/include" -I"/opt/android-ndk-r15c/sources/android/support/include" -I"/opt/openFrameworks/libs/glu/include_android" -I"/opt/openFrameworks/addons/ofxAndroid/src" -I/opt/openFrameworks/libs/FreeImage/include -I/opt/openFrameworks/libs/boost/include -I/opt/openFrameworks/libs/boost/include/boost -I/opt/openFrameworks/libs/curl/include -I/opt/openFrameworks/libs/curl/include/curl -I/opt/openFrameworks/libs/freetype/include -I/opt/openFrameworks/libs/freetype/include/freetype2 -I/opt/openFrameworks/libs/freetype/include/freetype2/freetype -I/opt/openFrameworks/libs/freetype/include/freetype2/freetype/internal -I/opt/openFrameworks/libs/freetype/include/freetype2/freetype/internal/services -I/opt/openFrameworks/libs/freetype/include/freetype2/freetype/config -I/opt/openFrameworks/libs/glm/include -I/opt/openFrameworks/libs/glm/include/glm -I/opt/openFrameworks/libs/glm/include/glm/simd -I/opt/openFrameworks/libs/glm/include/glm/gtc -I/opt/openFrameworks/libs/glm/include/glm/gtx -I/opt/openFrameworks/libs/glm/include/glm/detail -I/opt/openFrameworks/libs/json/include -I/opt/openFrameworks/libs/openssl/include -I/opt/openFrameworks/libs/openssl/include/openssl -I/opt/openFrameworks/libs/pugixml/include -I/opt/openFrameworks/libs/tess2/include -I/opt/openFrameworks/libs/uriparser/include -I/opt/openFrameworks/libs/uriparser/include/uriparser -I/opt/openFrameworks/libs/utf8/include -I/opt/openFrameworks/libs/utf8/include/utf8 -I/opt/openFrameworks/libs/openFrameworks -I/opt/openFrameworks/libs/openFrameworks/3d -I/opt/openFrameworks/libs/openFrameworks/utils -I/opt/openFrameworks/libs/openFrameworks/sound -I/opt/openFrameworks/libs/openFrameworks/types -I/opt/openFrameworks/libs/openFrameworks/communication -I/opt/openFrameworks/libs/openFrameworks/app -I/opt/openFrameworks/libs/openFrameworks/gl -I/opt/openFrameworks/libs/openFrameworks/graphics -I/opt/openFrameworks/libs/openFrameworks/events -I/opt/openFrameworks/libs/openFrameworks/video -I/opt/openFrameworks/libs/openFrameworks/math  -MMD -MP -MF /opt/openFrameworks/libs/openFrameworksCompiled/lib/android/obj/armv7/Release/libs/openFrameworks/3d/ofCamera.d -MT/opt/openFrameworks/libs/openFrameworksCompiled/lib/android/obj/armv7/Release/libs/openFrameworks/3d/ofCamera.o -o /opt/openFrameworks/libs/openFrameworksCompiled/lib/android/obj/armv7/Release/libs/openFrameworks/3d/ofCamera.o -c /opt/openFrameworks/libs/openFrameworks/3d/ofCamera.cpp
g++: error: unrecognized debug output level ‘cc-toolchain’
g++: error: armv7-none-linux-androideabi: No such file or directory
g++: error: unrecognized command line option ‘-fno-integrated-as’; did you mean ‘--no-integrated-cpp’?
g++: error: unrecognized command line option ‘-target’
g++: error: unrecognized command line option ‘-mfloat-abi=softfp’
g++: error: unrecognized command line option ‘-mfpu=vfpv3-d16’
makefileCommon/compile.core.mk:238: recipe for target '/opt/openFrameworks/libs/openFrameworksCompiled/lib/android/obj/armv7/Release/libs/openFrameworks/3d/ofCamera.o' failed
make[1]: *** [/opt/openFrameworks/libs/openFrameworksCompiled/lib/android/obj/armv7/Release/libs/openFrameworks/3d/ofCamera.o] Error 1
makefileCommon/compile.core.mk:206: recipe for target 'Release' failed
make: *** [Release] Error 2

also tried to install these, but can’t seem to figure out how to link them in the makefiles… if you have ideas, i’m listening, thank you

sudo apt install gcc-arm*

binutils-arm-linux-gnueabi binutils-arm-linux-gnueabihf binutils-arm-none-eabi cpp-7-arm-linux-gnueabi cpp-7-arm-linux-gnueabihf cpp-arm-linux-gnueabi
cpp-arm-linux-gnueabihf gcc-7-arm-linux-gnueabi gcc-7-arm-linux-gnueabi-base gcc-7-arm-linux-gnueabihf gcc-7-arm-linux-gnueabihf-base gcc-7-cross-base
gcc-arm-linux-gnueabi gcc-arm-linux-gnueabihf gcc-arm-none-eabi gcc-arm-none-eabi-source libasan4-armel-cross libasan4-armhf-cross
libatomic1-armel-cross libatomic1-armhf-cross libc6-armel-cross libc6-armhf-cross libc6-dev-armel-cross libc6-dev-armhf-cross libcilkrts5-armel-cross
libcilkrts5-armhf-cross libgcc-7-dev-armel-cross libgcc-7-dev-armhf-cross libgcc1-armel-cross libgcc1-armhf-cross libgomp1-armel-cross
libgomp1-armhf-cross libnewlib-arm-none-eabi libnewlib-dev libstdc+±arm-none-eabi-newlib libstdc++6-armel-cross libstdc++6-armhf-cross
libubsan0-armel-cross libubsan0-armhf-cross linux-libc-dev-armel-cross linux-libc-dev-armhf-cross


@unicatcorn makefiles are not supported anymore from 0.10 on android, you need to use android studio or at least gradle to build and run applications now


not sure if its expected behaviour but in verisons < 0.10 i was able to use use ofLog() to write to the console.
With 0.10 only std::cout writes to the console. ofLog() writes to the output window in VS but not the console itself.

Was there a change and this is expected behaviour or is it a bug?


@vpr_i did this worked on vs2015 or also in vs2017. i remember adding something to make the log output go the vs console but perhaps the way to do that has changed for vs2017


Hello everybody. In the last week I have given 3 workshops for beginners using 0.10 rc3, and I have some feedback that I think it is worth to share, platform by platform. Overall, I think the installation process is still a bit complicated, and not always well documented, we have to improve this part.

Mac OS
QtCreator 4.6 -> the qbs file is not created in the correct way. See Qt Creator on mac
Xcode -> Once you have it installed, it works smoothly. But, there are no indications in the documentation about which version of xcode is compatible for every mac version. As installing xcode is a step that normally beginners have to do in order to get OF working on mac, I think it would make sense to give a list of the supported version. I was in the situation where a student spent the previous day downloading different version of xcode from the apple developers site, looking for that one that worked.

QtCreator 4.6 -> No problem detected, this is at the moment the easiest platform to get started. I had a participant to a workshop with Debian Sid, it was not straightforward to get it working, but at the end it had a working installation even with an “exotic” distro.

QtCreator 4.6 and msys2 -> Not tested, but a user in the forum(i can not find the post) was having problems .
Visual studio 2017 -> The project generator creates files for Visual Studio code 2015. I have suggested to my students using windows to download vs2015 and of 0.9.8, and everything worked fine. We have some problem understanding how to add a new file to the project, this is not an OF issue, but we should document this step too.