Elliot,

How are you building the executable? Did you make sure to include all 
dependencies in the search path (run depends.exe against libmat.dll and 
libmx.dll)? Did you make sure to set the appropriate architecture e.g. -m64 in 
CFLAGS? I don't have access to the MAT-File libraries to test this myself.

Start simple and take Rcpp out of the equation. Call matOpen from a simple C 
function with type void. Does it work with dyn.load() and .C()?

If you are *only* working with v7.3 files which are based on HDF5, you may be 
able to avoid this issue and access them using rhdf5: 

source("http://bioconductor.org/biocLite.R";)
biocLite("rhdf5")
library(rhdf5)
h5dump("file.mat", load=FALSE)

John

From: rcpp-devel-boun...@lists.r-forge.r-project.org 
[mailto:rcpp-devel-boun...@lists.r-forge.r-project.org] On Behalf Of Elliot 
Joel Bernstein
Sent: Wednesday, March 25, 2015 9:28 AM
To: Dale Smith
Cc: x...@unm.edu; rcpp-devel@lists.r-forge.r-project.org
Subject: Re: [Rcpp-devel] R.e. Using Rcpp and MATLAB MAT-File API to Read MAT 
Files

Dale -

Thank you for the suggestion. I have MATLAB and the MATLAB libraries, and I am 
not looking to redistribute anything. I just have a lot of data in MAT files 
that I would like to be able to load analyze in R. I am able to compile and 
link against the MATLAB libraries, but the code crashes when I run it. I looked 
into the Octave FAQ. It looks like they don't handle v7.3 files either, and I 
don't think they provide an API that I could access from R/C++.

- Elliot

On Wed, Mar 25, 2015 at 8:36 AM, Dale Smith <dsm...@nexidia.com> wrote:
mat.h is a header file which comes with MATLAB. I don't think the license 
allows redistribution, and you would not be able to compile without the MATLAB 
libraries.

An alternative may be Octave since it will read .mat files. Perhaps someone can 
email the name of the header file used from the Octave distribution?

http://stackoverflow.com/questions/9915658/how-do-you-open-mat-files-in-octave

This also offers a viable way to test this type of code for those who don't 
have MATLAB.

Dale Smith, Ph.D. | Data Scientist | nexidia | office: +1 404 495 7220 ext 4008 
| fax: +1 404 495 7221 | nexidia.com


-----Original Message-----
From: rcpp-devel-boun...@lists.r-forge.r-project.org 
[mailto:rcpp-devel-boun...@lists.r-forge.r-project.org] On Behalf Of Christian 
Gunning
Sent: Wednesday, March 25, 2015 8:08 AM
To: rcpp-devel@lists.r-forge.r-project.org
Subject: [Rcpp-devel] R.e. Using Rcpp and MATLAB MAT-File API to Read MAT Files

Can you provide a link to the mat.h file referenced in the source (which I 
assume is the same as the API mentioned below)?

Also, see Dirk's comments about compilers here:
http://stackoverflow.com/questions/10723165/using-visual-c-with-r
and here:
dirk.eddelbuettel.com/code/rcpp/Rcpp-FAQ.pdf

Best,
Christian

> I'm trying to use the MATLAB Mat-File API to read data from MAT files
> into R. (I've tried using the R.matlab package, but the matrices I'm
> loading can be very large, and that method was too slow. In addition,
> some of the files I'm loading are v7.3 MAT files, which are not
> supported by the package.) I wrote the following simple function to
> start testing. It works fine if I compile without the Rcpp parts in
> Visual Studio (i.e. I can call matOpen and get a nonzero pointer), but
> when I run in R it crashes my R session without displaying "Test".
>
> #include <Rcpp.h>
> #include "mat.h"
>
> using namespace Rcpp;
>
> // [[Rcpp::export]]
> NumericVector rcpp_mat_load() {
>
>     MATFile* mf = matOpen("z:/temp/test.mat", "r");
>     printf("Test\n");
>     double val = 10;
>     NumericVector y = NumericVector::create(val);
>     return y;
> }

--
A man, a plan, a cat, a ham, a yak, a yam, a hat, a canal – Panama!
_______________________________________________
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

_______________________________________________
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