I used CMake to create a MSVC project with BUILD_SHARED_LIBRARY=ON
. But when I try to build, it gives message "cannot open vcl.lib
". What's wrong?
VXL does not support the CMake "Shared Library" feature on MSVC. You have to use static libraries. This is mostly due to MSVC's requirements to have either a complete list of every exportable identifier or a decoration of every identifier in the code. We are too lazy (or appalled at this "feature") to try to fix this. If you absolutely need DLLs you can build your code using Cygwin, which can produce shared libraries in a "normal" manner. Alternatively, if you only want to export a small number of classes or functions, then you can manually list them. See the MSVC tool documentation for further details.