[Rcpp-devel] Segmentation faults
Balamuta, James Joseph
balamut2 at illinois.edu
Fri Dec 6 23:00:46 CET 2019
Greetings and Salutations Brook,
The segfault is related to `int main() {}`. There is no need to use `int main() {}` unless you want to make this standalone in which case you want to use RInside to embed R within a C++ application.
Rcpp enables embedding C++ within R. So, R already is using its own `int main() {}`. Modifying code to the following should work:
In C++
test_fun.cpp
#include <Rcpp.h>
// [[Rcpp::plugins(cpp11)]]
// [[Rcpp::export]]
void test_fun()
{
auto i = Rcpp::IntegerVector::create(1,2);
Rcpp::Rcout << "Hello World!" << std::endl;
}
In R
Rcpp::sourceCpp("path/to/test_fun.cpp")
test_fun()
# Hello World!
For other examples, consider looking at examples from the introduction paper:
https://cran.r-project.org/web/packages/Rcpp/vignettes/Rcpp-introduction.pdf
Sincerely,
JJB
On 12/6/19, 3:48 PM, "Rcpp-devel on behalf of Brook Milligan" <rcpp-devel-bounces at lists.r-forge.r-project.org on behalf of brook at nmsu.edu> wrote:
I am trying to build some simple test cases of Rcpp. One of the simplest I can think of is below.
#include <Rcpp.h>
int main ()
{
auto i = Rcpp::IntegerVector::create(1,2);
}
This compiles fine and links against libR, but segmentation faults when run. My test system is a Mac with clang++.
Is there an obvious reason this should not work?
Cheers,
Brook
_______________________________________________
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-devel
More information about the Rcpp-devel
mailing list