[Rcpp-devel] Rstudio package build and Rcpp::compileAttributes()
Thanks, I'll try this out when I get a chance. Dale Smith, Ph.D. Senior Financial Quantitative Analyst Risk & Compliance Fiserv Office: 678-375-5315 www.fiserv.com -----Original Message----- From: JJ Allaire [mailto:jj.allaire at gmail.com] Sent: Thursday, February 07, 2013 11:49 AM To: Smith, Dale Cc: rcpp-devel Subject: Re: [Rcpp-devel] Rstudio package build and Rcpp::compileAttributes() Hi Dale, In order to ensure that the RcppExports.cpp file is correct it needs to be deterministically generated, so in all cases we need write access to it. One possible workaround is this: - Use a custom SOURCES variable in Makevars to explicitly list the source files to compile as part of the package - Don't include RcppExports.cpp in that list - Add another source file that in turn includes RcppExports.cpp but wraps it in the required preprocessor directives. J.J. On Thu, Feb 7, 2013 at 10:59 AM, Smith, Dale <Dale.Smith at fiserv.com> wrote:
Hello all, I'm using Rstudio 0.97.306, R 2.15-2, and Rcpp 0.10.2 with Windows 7 Professional x64. I recently switched to using the build tool in Rstudio, however, my generated file RcppExports.cpp and RcppExports.R are checked into version control, so they are read-only. The build fails with *************** ==> Rcpp::compileAttributes() Error in eval(expr, envir, enclos) : file io error:
'C:/Foundation/Common/RiskFinancialLibrary/Prototypes/FiservPrototypes/s rc/RcppExports.cpp'
Calls: source ... withVisible -> eval -> eval -> <Anonymous> -> .Call Execution halted *************** I have them checked in as I need to modify RcppExports.cpp manually, after running compileAttributes(), to avoid compiling in Visual Studio
(see below for explanation, if you are interested): #ifndef _MSC_VER #include <Rcpp.h> using namespace Rcpp; ... #endif I tried removing the generated key at the top of RcppExports.cpp since
this is mentioned in the Rcpp Attributes Vignette. However, I still have the error. Perhaps I've misinterpreted section 3.5.2 "Generated
Code"?
In order to avoid generating traffic on the list let me comment on why
I'm wrapping RcppExports.cpp with _MSC_VER. My employer produces all applications and libraries in Visual Studio. I wrap my ANSI C++ classes with .NET managed C++ classes and build a .NET assembly. This allows me to use Rcpp to test my C++ implementations of models against
a clean implementation in R and fulfill company requirements that I use Visual Studio unit tests for quality assurance. I can then deliver
the assembly build to developers for use in their own projects. I may turn the previous paragraph into a presentation for the Atlanta R User's Group. Dale Smith, Ph.D. Senior Financial Quantitative Analyst Risk & Compliance Fiserv Office: 678-375-5315 www.fiserv.com
_______________________________________________ Rcpp-devel mailing list Rcpp-devel at lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-deve l