C++
Support for C++ was started over 8 years ago (around 2015) with a Cxx.jl
package; it was not an easy package to use and was no longer supported after Julia v 1.3.
There are currently (as of 2023) a set of packages tackling interoperation with C++, each with a separate approach. We will highlight four of these next:
CxxWrap
: Now supported by the JuliaInterop group. Writes code for the Julia wrapper in C++, and then uses a one-liner on the Julia side to make the wrapped C++ library available there. It requires a C++ compiler installed that supports, at least, the C++17 standard.CxxInterface
: Written by Erik Schnetter. The design is simpler thanCxxWrap.jl
. Wrapper functions are written in Julia and generate respective C++ wrapper functions. It is not well documented, so needs piecing together from the included examples.jluna
: Written by Clem Cords. Relatively recent, comprehensive, and well documented (https://clemens-cords.com/jluna/basics.html). It requires...