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.alla...@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.sm...@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@lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-deve > l _______________________________________________ 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