On 31/05/2011 7:43 AM, Petar Milin wrote:
Hello ALL! I am an Linux user (Debian testing i386), with very dusty Win-experience. Nevertheless, my colleagues and I are making some package in R, and I built C-routines to speed up things. I followed instruction how to compile C for R (very useful link: http://www.stat.lsa.umich.edu/~yizwang/software/maxLinear/noteonR.html,
You should follow the instructions in the R Installation and Administration manual to set up the tools on your Windows system.
and links listed there). Everything works like a charm in Linux. I have *.so and wrapper function from R is doing a right call. However, I wanted to make *.dll library for Win-users. Now, I used my colleague's computer with Win XP on it, and with the latest R. In MS-DOS console, I positioned prompt in 'C;\Program Files\R\R-2.13.0\bin\i386\', and then I run: 'R CMD SHLIB C:\trial.c'. However, nothing happened, no trial.dll, nothing.
Really nothing? Not even an error message? Then, I tried with: 'R CMD SHLIB --output=trial.dll
C:\trial.c', but no luck, again. Please, can anyone help me with this? Can I use: 'R CMD SHLIB --output=trial.dll C:\trial.c' under Linux, and expecting working DLL?
I assume you mean "under Windows". I would normally use a forward slash, i.e. C:/trial.c; I don't remember if the R CMD code handles backslashes. (It might treat \t as a tab.) With that change, this should work.
One piece of unsolicited advice: I would hardly ever use R CMD SHLIB. Just include the C code in a package, and this is handled automatically by R CMD INSTALL. You won't need the .First.lib if you have a useDynLib() statement in your NAMESPACE.
Duncan Murdoch ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.