Merge from suttonpd

Added extern "c" calls
Added custom targets to include headers in project files (useful for some IDEs)