我已经构建了一个包含C/C++代码的R包。我现在试图在win-builder上测试这个包。不幸的是,返回以下错误00install.out
:gcc not win-builder
* installing *source* package 'mypackage' ...
** libs
running 'src/Makefile.win' ...
/usr/bin/make --directory=lib/mylib/
gcc -g -Wall -fPIC -c mycode.c
make[1]: gcc: Command not found
make[1]: *** [mycode.o] Error 127
make: *** [mylib] Error 2
Warning: running command 'make --no-print-directory -f "Makefile.win"' had status 2
ERROR: compilation failed for package 'mypackage'
* removing 'd:/RCompile/CRANguest/R-release/lib/mypackage'
与gcc
,gcc.exe
尝试,cc
产生类似的结果。
因此,我根据these instructions在Windows虚拟机上设置了测试环境。在此环境中的命令行上运行代码R CMD INSTALL .
,导致代码编译和程序包安装无问题。 (运行R CMD build .
也没有发生任何错误。)
怎么了双赢建设者,我该如何实现编译?
或者更重要的是,能够在Windows上构建足够的软件包,无论它是否适用于win-builder?
我Makefile.win
如下:
export CCOMP = gcc
export CPPCOMP = c++
export ADD_CC_FLAGS = -O3
APP_DIR = ./apps/myapp
LIB_DIR = ./lib/mylib
.PHONY: all $(APP_DIR) $(LIB_DIR)
all: $(APP_DIR) $(LIB_DIR)
$(APP_DIR) $(LIB_DIR): mylib
$(MAKE) [email protected]
$(APP_DIR): $(LIB_DIR) mylib
mylib:
$(MAKE) --directory=lib/mylib
插入echo %PATH%
到mylib
目标下生成文件产生:
Makefile.win:24: *** missing separator. Stop.
你可以包含你的Makefile.win内容吗? – nrussell
@nrussell:已添加。 – Richard