指定 C 编译器的头文件位置(使用 emscripten 编译 R 代码)

Sky*_*and 1 javascript c r emscripten

我在编译 C 代码方面相对缺乏经验。不过,我正在尝试使用 emscripten 将 R 源代码中的算法编译为 JavaScript。该函数位于此处调用的文件中pf.c

天真地,我刚刚进入src目录并尝试:

emcc nmath/pf.c 
Run Code Online (Sandbox Code Playgroud)

这导致:

In file included from nmath/pf.c:25:
nmath/nmath.h:38:10: fatal error: 'Rconfig.h' file not found
#include <Rconfig.h>
         ^
1 error generated.
ERROR    root: compiler frontend failed to generate LLVM bitcode, halting
Run Code Online (Sandbox Code Playgroud)

我知道这个标题在哪里:

$ find . -name "Rconfig.h"
./gnuwin32/fixed/h/Rconfig.h
Run Code Online (Sandbox Code Playgroud)

我的直接问题是,我如何告诉编译器这个头文件在哪里?我想最终得到一个pfJavaScript 函数。对这个想法的任何见解将不胜感激。

Sky*_*and 5

使用-I添加到包含搜索路径。

emcc nmath/pf.c -Ignuwin32/fixed/h/
Run Code Online (Sandbox Code Playgroud)

关于整体想法......听起来很奇怪,我不知道。