Hi all,
I can't get my C routines running on a windows box. I have no problems at all in Linux. On windows, I have installed cygwin and the compilation works well but once I execute "dyn.load(.)" it hangs whatever I use C/C++ interfaces. In Linux it works wonderful but I need to get this code running on windows boxes. I know that the problem should be something with the dll generation/linkage in windows but I can't figure out. As a matter of test I did the following C code: #include <R.h> #include <Rinternals.h> SEXP thisisatest(SEXP); SEXP thisisatest(SEXP a) { long int i; if (!isReal(a)) printf("Vector should be double.\n"); for (i=LENGTH(a)-1; i >=0; i--) { REAL(a)[i] = REAL(a)[i] + 1; } return (a); } Linux output: R CMD SHLIB thisisthetest.c gcc -I/usr/lib/R/include -I/usr/local/include -D__NO_MATH_INLINES -mieee-fp -fPIC -O2 -g -pipe -march=i386 -mcpu=i686 -c thisisthetest.c -o thisisthetest.o g++ -shared -L/usr/local/lib -o thisisthetest.so thisisthetest.o In R: > dyn.load("thisisthetest.so") > .Call("thisisatest",5) [1] 6 > [[ WONDERFUL ]] Windows output: L:\R>Rcmd SHLIB thisisthetest.c making thisisthetest.d from thisisthetest.c gcc -IC:/PROGRA~1/R/rw2001/include -Wall -O2 -c thisisthetest.c -o thisisthetest.o ar cr thisisthetest.a thisisthetest.o ranlib thisisthetest.a gcc --shared -s -o thisisthetest.dll thisisthetest.def thisisthetest.a -LC:/PROGRA~1/R/rw2001/src/gnuwin32 -lg2c -lR In R: > dyn.load("thisisthetest.dll") [[ IT HANGS ]] I have tried different combinations in paths (for library search) and compiling inside cygwin. no success. Any comments are very very very welcome. Thanks ! [[alternative HTML version deleted]] ______________________________________________ R-devel@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-devel