[Rd] Problems in building a DLL in 64-bit Windows

From: <ruipbarradas_at_sapo.pt>
Date: Mon, 12 Dec 2011 13:12:28 +0000

I am trying to build a C language DLL and it works well with i386 but when I compile with it substituted by x64, like the FAQ page says, the result is an error message:

C:/PROGRA~1/R/R-214~1.0/bin/x64/R.ddl: file not recognized : File format not recognized collect2: ld returned 1 exit status

How can I solve this? The problem is with R 2-14.0 and 2-13.0

The complete source code is

/*
* myfun.c
*/
#include <stdio.h>
#include <R.h>
#include <Rinternals.h>
#include <R_ext/Rdynload.h>

void myfn(double *x){ *x += 1; }

The DLL is build like this:

R CMD SHLIB -LC:/PROGRA~1/R/R-214~1.0/bin/x64 -lR myfun.c -o myfun64.dll

and get the error message above.

The R code:

#
# myfun.R: this works with i386, but not with x64
#

dyn.load("myfun64.dll")
f <- function(x) {.C("myfn", x=as.double(x))$x} f(1)
f(1000)
dyn.unload("dllmain.dll")

I am trying to build a package, or at least a set of functions, and performance is sometimes a problem. Thank you,

Rui Barradas

        [[alternative HTML version deleted]]



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Mon 12 Dec 2011 - 13:40:46 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 12 Dec 2011 - 20:20:17 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive