我希望有人可以提供帮助。我是C的新手,我一直在试验R项目中的一些代码。我创建的项目包含一个main.c文件和几个头文件。 main.c文件如下所示:
#include "Rinternals.h"
int main(int argc, char** argv) {
}
SEXP Cdqrls(SEXP x, SEXP y, SEXP tol, SEXP chk)
{
SEXP ans;
SEXP qr, coefficients, residuals, effects, pivot, qraux;
int n, ny = 0, p, rank, nprotect = 4, pivoted = 0;
double rtol = asReal(tol), *work;
}
Rinternals.h文件是来自R Project来源的此文件:https://svn.r-project.org/R/trunk/src/include/Rinternals.h
我已将此头文件包含在与main.c文件相同的文件夹中,并且我还在此文件夹中包含了Rinternals.h #includes语句中的所有头文件。当我尝试编译它时,我收到以下错误:
||=== Build: Debug in MyNewProject (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `Cdqrls':|
main.c|30|undefined reference to `Rf_asReal'|
我已经尝试了很多东西,似乎无法找到一种方法来编译这段代码。我目前正在使用Code :: Blocks并使用GNU GCC Compiler进行编译。对此的任何帮助将不胜感激。
答案 0 :(得分:7)
您需要将其与R库链接(也使用-I指定包含库):
find