Linker error with CxxWrap on Windows10

interoperability

#1

I’m trying to reproduce the Hello world example of the CxxWrap package. Using Windows10, Visual Studio 2017, and Julia v1.0.2. At the Linker settings, I should add the
"C:\JuliaPro\pkgs-0.5.1.1\v0.5\CxxWrap\deps\usr\lib\jlcxx.lib;
file, which on my system would be:
C:\Users\cstamas\.julia\packages\CxxWrap\KcmSi\deps\usr\lib\jlcxx.lib
However there’s no such file. These are in the lib directory:

libcxxwrap_julia.dll.a
libexcept.dll.a
libextended.dll.a
libfunctions.dll.a
libhello.dll.a
libinheritance.dll.a
libjlcxx_containers.dll.a
libparametric.dll.a
libtypes.dll.a

I’m not sure if this is a windows specific error, or something went wrong at the package installation (I tried reinstalling it, the results are the same.) or something else.
Does anybody know something about this issue?

Edit:
Package version: CxxWrap v0.8.1
I did not have any other issue with the package installation, only a known symlink issue.


#2

The currently distributed binaries are not compatible with Visual Studio. If you want to develop a wrapper in Visual Studio, the easiest way is to first compile libcxxwrap-julia, and then use that to link against your own project. The easiest way to do that is to generate an MSVC project using CMake, manually adding the variable CMAKE_PREFIX_PATH set to e.g. C:/Users/bart/AppData/Local/Julia-1.1.0.

After building and installing (configure the installation dir in CMake) using Visual Studio, set JLCXX_DIR to the install directory. Currently, there is a bug that requires renaming the installed cxxwrap_julia.dll to libcxxwrap_julia.dll. After that, Pkg.build on CxxWrap should pick up your built library.

See also