我已經構建了一個包含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