OpenFrameworks And VS2013?

I am trying to port my openframeworks stuff over to VS2013 but i’m getting all kinds of compiler errors relating to Poco stuff. Presumably because it was all compiled in VS2010.

  
Error	82	error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1800' in main.obj	X:\Program Files\Openframeworks\apps\processing\processing\PocoNetmdd.lib(HTTPMessage.obj)	  
  

Is there a workaround or fix for this? Why is openframeworks still using 2010 stuff? It’s time to move forward!

openFrameworks 0.8 is compatible with vs2012 not 2010. vs2013 wasn’t released yet when we did the latest version so it’s no supported yet

Ah. Is there an estimated date when it will be compatible with 2013?

no, not yet

how about meow? :smiley:

Work has started on it and afaict the only outstanding thing is to compile all the libraries for VS2013 using the new compiler https://github.com/openframeworks/openFrameworks/pull/2571

I can confirm that if you want to get openframeworks working with VS 2013 you really just need to compile POCO (I’m not really sure about the other modifications on the github Joshua is pointing at). I tested it on the EmptyExample, a GUI example with OSC messages and some custom projects and everything looks pretty legit to me.

I can share the libs or the process to compile them if anyone cares.

Yes! Please share your process. I’m about to make a push for updating Poco across the board and this would be quite useful as I’m not a native Win user.

Well… Actually my process was pretty terrible. You need to download the full sources (not the light version). Download openssl precompiled (the developer version, x86) as it’s hinted by poco website.

And then here come the wrong:
POCO comes with script to build it automatically with VS but does not come with a 2013 script version. So I opened the project solution one by one and compiled what was relevant for oF (static_MD debug and release). And you need to update the project file of crypto and net-ssl to point to the openssl includes and libs (right click on the project in vs, edit properties and the settings are in compiler general and linker general or something along those lines).

I think the right solution would be to update the compiling scripts but I didn’t had time to check how they worked.

1 Like

@bakercp
I have a new question for you that just popped up. When you say you want to make a push to update Poco, are you talking about the current stable release or the dev one ? The dev one has VS2013 projects I think. Otherwise you could read the follwoing:

I improved my process a little bit! (I was compiling Poco in 64bit this time…).
You can upgrade a visual studio solution to VS 2013 by running devenv your_solution.sln /Upgrade so I wrote a little batch script called update.bat that I copied in the Poco main folder having something like :

devenv %1%1_x64_vs110.sln /Upgrade

And then run it in VS command line tool : (update Foundation; update Net …)
Once all of the solutions you need are updated you can run the command line script to build everything (saying you want to compile it for vs110 but as you upgrade the projects files it’s really compiling for vs120).
I think you need to launch the proper command prompt depending on whether you want to build in x64 or x86.

Hope it will help !

EDIT : After more experimetnation I just realized that the Poco library openframeworks is using was patched by Arturo to handle void event (ie ofEvent) so you need to be careful when updating Poco to a new version (cf github)

here’s the working version with vs2013,the poco,opencv,videoinput and rtaudio been compiled against to the vs2013
https://github.com/liquidzym/openFrameworks/tree/VS2013

3 Likes

Great job. Thank you!

I just want to bump this thread because it’s 2015. On every new computer I have to work with OF on, I’m still grabbing all the2013 compiled libs from liquidzym and dropping them into OF :slight_smile:

Yes. Today, in order to build imageLoaderExample in VS 2013, I had to: grab the libs from liquidzym, re-change the assignment of supportVAOs in libs/openFrameworks/gl/ofVbo.cpp to ofIsGLProgrammableRenderer() so it gets its expected bool, then download openframeworksLib.lib and openframeworksLibDebug.lib from the VS2010 libraries of some random OF project on Google Code.

Works great now! :slight_smile:

Hey,

I was given a OF course and was also not aware that OF didn’t work on VS2013.
To help my students I created a binary version with example VS project files and project generator from the github from Liquidzym.
For those who have trouble building the github VS2013 a download is available at.
http://files.lab101.io/openframeworks-VS2013.zip

Greets
Kris

1 Like

other frameworks are a download away, and actually compile. I almost learned juce instead because of this. Maybe this should be flagged somewhere on the main page? sorry linux people, not there yet

I’ve updated the download page so it’s more accurate / less confusing:

Thank you! You legend. <3

@zuppaman’s binary is working perfectly so far. Thanks so much, this helps a ton!

@zuppaman’s link is broken. Can anyone refresh it ? Thanks.