xmmTool errors when building shared library
If I change line92 of CMakeLists.txt from this
add_library(RAPID-MIX_API ${RAPIDMIX_FULL_SRC})
to this
add_library(RAPID-MIX_API SHARED ${RAPIDMIX_FULL_SRC})
then the project should build a shared library.
But, XMM throws a bunch of linker errors, like this:
Undefined symbols for architecture x86_64: "xmmTool<xmm::GMM, xmm::GMM>::train(rapidmix::trainingData const&)", referenced from: vtable for xmmTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o vtable for rapidXmmGmm in rapidMixTest.cpp.o vtable for xmmStaticTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o "xmmTool<xmm::GMM, xmm::GMM>::getJSON()", referenced from: vtable for rapidmix::machineLearning<rapidXmmGmm> in rapidMixTest.cpp.o vtable for xmmTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o vtable for rapidXmmGmm in rapidMixTest.cpp.o vtable for xmmStaticTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o "xmmTool<xmm::GMM, xmm::GMM>::putJSON(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: vtable for rapidmix::machineLearning<rapidXmmGmm> in rapidMixTest.cpp.o vtable for xmmTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o vtable for rapidXmmGmm in rapidMixTest.cpp.o vtable for xmmStaticTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o "xmmTool<xmm::GMM, xmm::GMM>::readJSON(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: _main in rapidMixTest.cpp.o vtable for rapidmix::machineLearning<rapidXmmGmm> in rapidMixTest.cpp.o vtable for xmmTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o vtable for rapidXmmGmm in rapidMixTest.cpp.o vtable for xmmStaticTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o "xmmTool<xmm::GMM, xmm::GMM>::writeJSON(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: _main in rapidMixTest.cpp.o vtable for rapidmix::machineLearning<rapidXmmGmm> in rapidMixTest.cpp.o vtable for xmmTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o vtable for rapidXmmGmm in rapidMixTest.cpp.o vtable for xmmStaticTool<xmm::GMM, xmm::GMM> in rapidMixTest.cpp.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)