The attached code is compiled properly. The error happens at the linking stage.
It seems that R shared library is not built by configure/make. 2007/10/14, Dirk Eddelbuettel <[EMAIL PROTECTED]>: > > > On 14 October 2007 at 05:58, Wang Chengbin wrote: > | I am trying to use the R API to call optim functions (nmmin, vmmin, > lbfgsb, > | etc.) through a C program but I couldn't find the shared library to link > | under the R-2.6.0 build which is compiled under Linux (REL5). > > You can't just call an _R_ function from a _C_ program as you do below. > > | extern int Rf_initEmbeddedR(int argc, char *argv[]); > | int main() > | { > | char *argv[]= {"nmminDemo", "--gui=none", "--silent"}; const int > argc = > | 3; > | > | double initial[1] = {1.5}; > | double result[1]; > | double value; > | int convergenceCode; > | > | /* > | * The following values are based on the help > | * page for optim. > | */ > | > | > | const double abstol = 1e-16; > | const double reltol = 1e-8; > | const double alpha = 1.0; /* reflection factor */ const double beta > = > | 0.5; /* contraction factor */ const double gamm = 2.0; /* expansion > factor > | */ const int trace = 0; /* tracing on */ > | int fncount; > | const int maxit = 10000; > | Rf_initEmbeddedR(argc, argv); > | > | nmmin(1, initial, result, &value, parabola, > > Not a function at the C level. > > You need to rethink what you want to do, and how you go about it. Go back > to > the R Extensions manual, or look for example at Rserve by Simon which > allows > you to 'think in terms of R functions' but access them via a network layer > (which can be, which doesn't have to be, on the same machine). > > Hope this helps, Dirk > > -- > Three out of two people have difficulties with fractions. > [[alternative HTML version deleted]] ______________________________________________ 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.