AprilAndFriends / theoraplayer

A multi-threaded C++ library that plays video files supporting multiple codecs across platforms. Easy to use, fast, responsive, abstract interface and minimal dependencies, you'll soon be wondering how you lived without it! ;) Audio and Video interfaces are completely abstracted so the library can be used anywhere, regardless of what you use to display video frames and play audio samples (eg. OpenGL / OpenAL, Direct3D / DirectSound?, SDL / SDL_mixer, X11 / alsa ...) The library can pre-cache video frames and decoded audio samples for maximum efficiency and smooth playback, even on single-cpu systems. Currently, the library supports Theora on Windows, Mac, iOS, Linux, Android, WinRT and Windows Phone. H.264 is supported on Mac and iOS.
BSD 3-Clause "New" or "Revised" License
84 stars 43 forks source link

visual studio 2013 projects appear to not be 2013 projects #7

Closed blloyd75 closed 8 years ago

blloyd75 commented 8 years ago

When opening libtheoraplayer_vs2013.sln, the IDE prompts to upgrade to vs2013. After the upgrade, it shows to still be using the vs2012 toolchain. Reading the project files in a text editor shows the 2013 toolchain selected, as does the property pages. However, the project tags as for 2012 - Windows XP and when a build is attempted it tries to use that toolchain.

It appears that all the projects in the solution are affected by this issue.

blloyd75 commented 8 years ago

This is using Visual Studio Community 2013, Version 12.0.31101.00 Update 4

blloyd75 commented 8 years ago

Commit 063ba24ba05df4d3f605c546b075caa31bf4983e is what broke the VS2013 build. At that time it started using VS2012 as the build tools. It also dropped DebugS and ReleaseS (static builds).

borisblizzard commented 8 years ago

Updated all VS projects (2012, 2013 and 2015). It should be fine now. Please close the issue after you check that everything works now.

blloyd75 commented 8 years ago

Build tool selection appears correct, but there is now a problem with the build itself.

While the libraries show their dependencies, the samples do not. Therefore, a rebuild on a multi-processor system will fail. All libraries build properly, but the samples build faster than the libtheoraplayer they depend on, so they fail the link the step. They just need the dependency on the libtheoraplayer to stop that issue from occurring.

I do not have Visual Studio 2012 available, nor 2015 installed. So my testing is solely for VS2013.

Immediate workaround is to build again, since the libraries are already complete the samples then build.

borisblizzard commented 8 years ago

Fixed.

blloyd75 commented 8 years ago

Looks good with latest commits for VS2003

blloyd75 commented 8 years ago

Found that ReleaseS type projects attempt to build for vs14_xp, so toolset selection is still not always correct. demo_seek_set and demo_glut_player where affected.

borisblizzard commented 8 years ago

Not sure how I managed to mess that up. It should all be fixed now. I checked all 4 configurations and all demos projects.