A good guess is that the as/wrap definitions in wrappers.h are the culprit (https://github.com/dahtah/imager/blob/master/inst/include/wrappers.h <https://github.com/dahtah/imager/blob/master/inst/include/wrappers.h>). Try declaring them as inline, or separating the definition from the declaration.
—Kevin > On Jul 17, 2015, at 7:32 AM, Simon Barthelmé <simon.barthe...@gipsa-lab.fr> > wrote: > > Dear list, > > For a package I'm developing (https://github.com/dahtah/imager/) I had to > write custom "as" and "wrap" functions for third-party classes. I'd like to > make these wrappers accessible to other developers via inline C++ as well as > LinkingTo directives (so that they can be used in other packages). > So far I've only managed the former: I have a header file in inst/include, > called "wrappers.h", that contains the full implementations of my custom as > and wrap functions. I've written a custom inline plugin and everything works > fine. However, LinkingTo doesn't work: wrappers.h gets included in multiple > object files and I get linking errors (the linker complains about multiple > declarations of "as" and "wrap"). > I understand RcppArmadillo manages to get around the problem but I can't > figure out how. What's the correct way of doing this? Is there a way of > making as and wrap inline functions so that it's safe to have header-only > implementations? > > Thanks! > > Simon Barthelme > > _______________________________________________ > Rcpp-devel mailing list > Rcpp-devel@lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
_______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel