Archive for September, 2015

Visual Studio – Cross platform mobile development with C++.

September 25, 2015 - no comments. Posted by in Programming.

I’ve been playing around in Visual Studio 2015, specifically with the cross platform C++ development tools. I started off by creating an OpenGLES Android/iOS project and trying a few things out in the sample project. I was able to build get the Android and iOS builds to work but not without running into a few headaches along the way.

The first issue I ran into was installing vcremote on MacOSX. Keep in mind that you wont be able to use the latest version of node.js. You’ll need to use homebrew to install 2.6.0. The initial install of vcremote was simple enough but once I actually ran the thing it was oblivious to my current homebrew installation and no matter what I tried it was unable to pick it up. I ended up having to remove homebrew and let vcremote handle the re-installation. I got most of it working but I find that I am unable to actually deploy to my device yet. Deployment to the simulator works but remember to set your build target to x86 first.

I also had some issue with my certificates. My initial builds all failed due to the fact that xcode couldn’t find any signing identities. I fixed this by opening the xcode project generated by visual studio and configuring the signing manually. I also had to remove the arm64 configuration because the static library project only built for armv7.

I then attempted to port an existing cross platform c++ mobile project I was already working on…. That’s when the fun began. No matter what I tried all I would get from visual studio is the following error:

clang.exe : error : no input files

It took me about an hour to figure out what the hell was going on… It all came down to a ‘-‘ in my root folder name. The path for my project was something like c:\projects\some-initial-project\src\blah.proj. I suspect the ‘-‘ was being interpreted by clang as a flag and screwing things up. Changing the directory name to c:\projects\someproject\src\blah.proj fixed it.

I’m still trying to learn more about how to properly configure this type of project so I’ll be sure to post as I learn more. Things seem to be moving along in the right direction so kudos to Microsoft for putting all this together.