Ich habe ein R-Paket gebaut, das C/C++ - Code enthält. Ich versuche jetzt, dieses Paket auf win-builder zu testen. Leider wird der folgende Fehler in 00install.out
zurückgegeben:gcc nicht gefunden von 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'
mit gcc
Probieren, gcc.exe
und cc
ergaben ähnliche Ergebnisse.
Dementsprechend habe ich eine Testumgebung auf einer virtuellen Windows-Maschine nach these instructions eingerichtet. Das Ausführen von R CMD INSTALL .
auf dem Code von der Befehlszeile in dieser Umgebung führte zu dem Codekompilieren und dem Installieren des Pakets ohne Problem. (Running R CMD build .
ergab auch keine Fehler.)
Was ist los mit Win-Builder, und wie kann ich Kompilation darauf erreichen?
Oder, was noch wichtiger ist, ist in der Lage, das Paket auf Windows ausreichend zu erstellen, unabhängig davon, ob es auf Win-Builder funktionierte?
Mein Makefile.win
ist wie folgt:
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
Einfügen echo %PATH%
in die Make-Datei unter dem mylib
Ziel ergab:
Makefile.win:24: *** missing separator. Stop.
Können Sie Ihren Makefile.win-Inhalt aufnehmen? – nrussell
@nrussell: Hinzugefügt. – Richard