How to install/locate R.h and Rmath.h header files?

前端 未结 3 1704
慢半拍i
慢半拍i 2021-01-11 14:55

I am trying to compile some C code (called rand_beta) in terminal which contains the lines to include R.h and Rmath.h header files using gcc -o rand_beta rand_beta.c

相关标签:
3条回答
  • 2021-01-11 14:59

    The other answers try to guess where your R installation directory is. But there is a more robust solution. Use the R.home command in R to find it wherever it is:

    > R.home('include')
    /usr/lib64/R/include
    

    That is the folder containing R.h and Rmath.h on my system. Your folder may be in a different place.

    0 讨论(0)
  • 2021-01-11 15:09

    You first need to locate those headers. In my system, they are located in /usr/lib64/R/include/R.h, part of the R-devel package I installed with yum.

    Then use the -I option of gcc to tell gcc where to find them.

    gcc -I/usr/lib64/R/include  -o rand_beta rand_beta.c
    

    Then, you will also most probably need to export LD_LIBRARY_PATH to run your compiled program:

    LD_LIBRARY_PATH=/usr/lib64/R/lib ./rand_beta
    
    0 讨论(0)
  • 2021-01-11 15:23

    Another way is to specify some environment variables to directly use the include path:

    export CPATH=/usr/lib64/R/include/
    export C_INCLUDE_PATH=/usr/lib64/R/include/
    export CPLUS_INCLUDE_PATH=/usr/lib64/R/include/
    export GCC_INCLUDE_DIR=/usr/lib64/R/include/
    

    This should then run fine:

    gcc -o rand_beta rand_beta.c
    
    0 讨论(0)
提交回复
热议问题