0.10.0 Release candidate 3

perfect, will add that to the project settings in a moment. Thanks for testing!

Sorry i deleted my message by mistake

In my case, PG works fine, and I got the same problems with openssl than @rjx-ray, im my case related to an addon (ofxLibwebsockets) taht assumes the openssl is included. I will try to solve it later changing the addon_config.mk (my first tests were unsuccessful)…

In QT linux was solved adding the system packages manually to the qbs, while I was doing he RC1 tests

Also the pragma directive didn’t work for me, I am still getting linking issues from the other openssl libraries.

@arturo seems that my problem is now related to the new openssl version, the maintainers of libwebsocket had the same problem with appveyor, with the same errors. The say:

“The new pieces seem to use the newer “libcrypto” type naming not this ancient libeay thing specific to windows, then the OpenSSL pieces we bring in on top with the old naming confuses cmake’s FindOpenSSL.”

More details here: https://github.com/warmcat/libwebsockets/issues/970

I wonder if this changes form openssl 1.0.x to 1.1 will break more addons than just this one.

I don’t think there’s many addons that depend on openssl but yes the ones that do will break. That said you just need to recompile the libwebsockets library with the new openssl and that should fix it

I have tested rc3 with win, linux and mac. Mac and linux are ok, with windows, I have this error:

I’m using, as suggested in the doc, visual studio 2015

Severity Code Description Project File Line Suppression State
Error MSB8020 The build tools for v141 (Platform Toolset = ‘v141’) cannot be found. To build using the v141 build tools, please install v141 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting “Retarget solution”. openframeworksLib C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets 57

Any Idea? on Properties -> Platform Toolset there is “v141(non installed)”. This is really similar to the problem I was having on testing an addon on the CI server (Failing OF build for windows ans visual studio) . @Jordi do you have any suggestion?

Hey @edapx, for the new release candidate it’s supposed to support only Vs 2017, and here @rjx-ray already has discussed that PG only shows VS 2015 when you could have both installed… and there are some solutions WIP.

I’ve tried with --> add this line #pragma comment (lib, "crypt32"); to main.cpp of opencv example and worked.

#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());

}

Yes, thank you. have uninstalled visual studio code 2015 and installed the 2017 one. Adding the v141 build tools during the installation. When opening an example and trying to run it, I receive:

The Windows SDK version 8.1 was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting “Retarget solution”.
1>Done building project “openframeworksLib.vcxproj” – FAILED.

Even if I change the properties as in the picture, the error persists

If I create a project with the project generator, the Windows SDK Version selected is 8.1. If I change it to 10.0.16299.0, I get the same error as before.

If I change the Windows SDK version to that one supported by my system, 10.0.16299.0, in both the properties of the project AND in the properties of openFrameworks, the compilation starts, but it fails with this error message:
error

If I right click on the project, then properties, then configuration manager and i set the build to 64 bit as in the picture

I have this error:
er

Any suggestion about how to get the rc3 running on visual studio code 2017 is welcome.

I’ve kept both versions in my case… I wanted to keep vs 2015 for other developments, so no idea about that process, but good to know… But did you tried to do right click to the project and select open it with VS2017? May be double click stills try to open it as VS 2015.

I’m getting linker errors for libcrypto.lib when building an emptyExample on vs2017 community:

2>   Creating library bin\emptyExample.lib and object bin\emptyExample.exp
2>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertOpenStore
2>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertCloseStore
2>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertEnumCertificatesInStore
2>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertFindCertificateInStore
2>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertDuplicateCertificateContext
2>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertFreeCertificateContext
2>libcrypto.lib(e_capi.obj) : error LNK2001: unresolved external symbol __imp_CertGetCertificateContextProperty
2>bin\emptyExample.exe : fatal error LNK1120: 7 unresolved externals
2>Done building project "emptyExample.vcxproj" -- FAILED.
3>------ Skipped Deploy: Project: openframeworksLib, Configuration: Release x64 ------
3>Project not selected to build for this solution configuration 
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Deploy: 0 succeeded, 0 failed, 1 skipped ==========

Also, there’s something funky with how Project Generator is writing the VS project / Windows SDK version as @edapx mentioned.
The project opens automatically in vs2015, but then gives an error about using the v141 toolset. If I manually open in vs2017, there’s no message about updating the project settings like when usually opening a vs2015 project in vs2017. The Windows SDK is 8.1, not sure if that should be 10? If I save the project in vs2017, it still wants to open in vs2015.

Any advice on the libcrypto issue?

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:

linux64gcc6
linuxarmv6
android

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

1 Like

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.

PS:

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)

for

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.

Eduard

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=?

arigato

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


buildscript {
    repositories {
        mavenCentral()
    }
    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
        //25
        defaultConfig.with {
            minSdkVersion.apiLevel 19
            targetSdkVersion.apiLevel 19
        }

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

        sources {
            main {
                jni {
                    source {
                        srcDirs = [
                                ofSource
                        ]
                        excludes = ["**/ofQtUtils.cpp",
                                    "**/ofQuickTimeGrabber.cpp",
                                    "**/ofQuickTimePlayer.cpp",
                                    "**/ofDirectShowGrabber.cpp",
                                    "**/ofDirectShowPlayer.cpp",
                                    "**/ofGstUtils.cpp",
                                    "**/ofGstVideoGrabber.cpp",
                                    "**/ofGstVideoPlayer.cpp",
                                    "**/ofAppGlutWindow.cpp",
                                    "**/ofAppEGLWindow.cpp",
                                    "**/ofAppGLFWWindow.cpp",
                                    "**/ofCairoRenderer.cpp",
                                    "**/ofFmodSoundPlayer.cpp",
                                    "**/ofOpenALSoundPlayer.cpp",
                                    "**/ofRtAudioSoundStream.cpp",
                                    "**/glew/**/*",
                                    "**/videoInput/**/*",
                                    "**/fmodex/**/*",
                                    "**/kiss/**/*",
                                    "**/assimp/**/*",
                                    "**/portaudio/**/*",
                                    "**/rtAudio/**/*",
                                    "**/poco/lib/**/*",
                                    "**/openssl/lib/**/*",
                                    "**/boost/include/boost/**/*",
                                    "**/curl/**/*"
                        ]
                    }
                }
            }
        }
    }

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