JavaCPP v1.4 Release Notes
Release Date: 2018-01-17 // about 6 years ago-
- Output to log all commands executed for
Builder.buildCommand
viaProcessBuilder
- Switch architecture in
android-arm.properties
to ARMv7-A - Fix
Parser
not producing@Cast
annotations for types withInfo.cast()
onoperator()
, as well as failing onusing operator
statements - Fix
Parser
issue with multiple container types (std::vector
, etc) getting mixed up when mapped to adapters (@StdVector
, etc) - Fix "Negative Buffer Capacity" errors happening in subclasses on
Pointer.asBuffer()
(issue deeplearning4j/deeplearning4j#4061) - Prevent
JNI_OnLoad()
from failing whenLoader.putMemberOffset()
cannot find a class - Throw clear error message when
Loader.load()
gets called on a class not supporting current platform - Create symbolic links to libraries preloaded by
Loader
as needed on Mac for renamed libraries - Update platform properties to support recent versions of the Android NDK
- Fix
Generator
issues with@ByPtrPtr
return ofString
orPointer
types (issue bytedeco/javacpp-presets#499) - Define
clear()
,empty()
,pop_back()
, andpush_back()
for resizable basic containers inParser
(issue bytedeco/javacv#659) - Add "nowarnings" option for the
@Platform(compiler=...)
value to suppress all warnings - Have
Builder
generate base JNI functions intojnijavacpp.cpp
for better iOS support (issue #213) - Output single value setters for containers in
Parser
to avoid surprises (issue #217) - Add
Parser
support for C++11using
declarations inheriting constructors (issue bytedeco/javacpp-presets#491) - Fix compiler error when defining
std::set
orstd::unordered_set
withParser
- Make
Parser
honorInfo.skip()
for enumerators and function pointers as well - Add
LoadEnabled
interface to allow classes to modify theirClassProperties
at runtime - Move
sizeof()
andoffsetof()
data to global variables to preventStackOverflowError
inJNI_OnLoad()
(issue bytedeco/javacpp-presets#331) - Propagate within
Parser
type information from macros to other macros referencing them - Add support for
JNI_OnLoad_libname()
naming scheme for iOS via newplatform.library.static=true
property - Improve the clarity of error messages on
Parser
failures - Fix
Parser
issues with multipletypedef
declarations in a single statement - Require
Info.annotations("@Name")
to pick up alternate names from attributes - Add
@Platform(exclude=...)
annotation value to remove header files from inherited@Platform(include=...
- Fix a few issues with
Parser
, including missingPointerPointer
member setters (issue bytedeco/javacpp-presets#478) - Fix potential race conditions and various issues with
Loader
that could prevent libraries like MKL from working properly - Add
Loader.addressof()
to access native symbols, usable via optionalValueGetter/ValueSetter
inFunctionPointer
- Add
BuildEnabled
interface to allowInfoMapper
classes to participate in the build - Try to use symbolic links in
Loader.load()
for output filenames specified with the#
character (useful for libraries like MKL) - Fix
Parser
incorrectly resolving type definitions with classes of the same name in parent namespaces - Fix
Generator
compile errors forconst
template types of@Adapter
classes using the@Cast
annotation - Call
Loader.createLibraryLink()
when executing the user specifiedBuilder.buildCommand
as well - Introduce new
platform.extension
property to manage more than one set of binaries per platform - Catch
SecurityException
inLoader.getCacheDir()
(pull #198)
- Output to log all commands executed for