JavaCPP v0.6 Release Notes

Release Date: 2013-09-15 // over 10 years ago
    • Added new very preliminary Parser to produce Java interface files almost automatically from C/C++ header files; please refer to the new JavaCPP Presets subproject for details
    • When catching a C++ exception, the first class declared after throws now gets thrown (issue #36) instead of RuntimeException, which is still used by default
    • Fixed Java resource leak after catching a C++ exception
    • Upgraded references of the Android NDK to version r9
    • Added new Builder option "-copylibs" that copies into the build directory any dependent shared libraries listed in the @Platform(link={...}, preload={...}) annotation
    • Loader.getPlatformName() can now be overridden by setting the com.googlecode.javacpp.platform.name system property
    • Refactored the loading code for @Properties() into a neat Loader.ClassProperties class, among a few other small changes in Loader, Builder, Generator, and the properties
    • Included often used directories such as /usr/local/include/ and /usr/local/lib/ to compiler.includepath and compiler.linkpath default properties
    • New @Properties(inherit={Class}) value lets users specify properties in common on a similarly annotated shared config class of sorts
    • Fixed callbacks when used with custom class loaders such as with Web containers or frameworks like Tomcat and Play
    • Fixed using @StdString (or other @Adapter with @Cast annotations) on callbacks (issue #34), incidentally allowing them to return a String
    • By default, Builder now links to the jvm library only when required, when using the -header command line option (issue #33)
    • Incorporated missing explicit cast on return values when using the @Cast annotation
    • Fixed duplicate code getting generated when both specifying the output filename with -o <name> and using wildcards on packages containing nested classes
    • Let Buffer or arrays of primitive values be valid return and callback arguments, mostly useful when used along with the @StdVector annotation, or some other custom adapter