So our group of 5 members + Dave Humphrey has been tasked with creating an open source library that can inject licenses into image metadata as part of the “Open Source Project” course. After some considerable research we decided to use Adobe’s XMP Toolkit (which btw is written in C++) for our purposes.
Now, one of the first programming languages that I learned was C/C++. However, since then, it has been my least proficient and least liked language. Verbose code is not something that I am fond of (I am very lazy). But we had no better choice, we had to work with C++ (for now at least).
My first task was to go through Adobe’s documentation for using their toolkit. Well written it may be, but it was also quite long. That took me a while and then came the moment to build the Toolkit from source. The documentation explains this to be fairly straight-forward; and it is…for the first couple of steps. Then we bring in the build step which requires us to use XCode (I’m on a Mac). This part was not so straight-forward. In fact it took me a really really long time to build both the Toolkit and the sample code.
I believed that it would simply require me to click ‘Build’, and everything would just magically work. Silly me! I see numerous compile-time errors that I am not sure what to do about. My first instinct was to Google them. For the first part of building the Toolkit itself, this did not work so well as all I found were generic answers. So, I carefully examined the error and decided to fix them manually (i.e. change Adobe’s code :-o). I had to change some library references here and there (from what I recall, one was changing an include tr1/memory to just memory) and fix some casting problems. Voila…it worked.
Unfortunately the same strategy could not be applied to building the sample code. Several “architecture” errors popped up in XCode which baffled me. But after some deep digging, I was able to find one answer that solved all my problems. This thread even possibly explains why I was encountering problems with the Toolkit build – “The SDK has been tested and released for Mac 10.8.5 and xcode 5.0.2. ”
So now that that is out of the way, time to actually use this code in a project…lets see how that turns out!