Hi Kevin

Thanks for your answer. I've tried declaring them as inline but the compiler (clang, haven't tried gcc) issues a warning saying it's going to ignore the inline statement. I'm assuming this is because the declaration is actually a template specialisation but I haven't found a definitive answer. If I separate the declaration from the definition, the linker now complains as and wrap are missing. Using the interface:: attribute doesn't seem to help either.

Best

Simon

Le 17/07/2015 16:56, Kevin Thornton a écrit :
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). 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 <mailto: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 <mailto: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

Reply via email to