J'essaie d'obtenir une adhérence sur C ++ / RCPP comme extension à R pour des tâches de calcul importantes. En fin de compte, ces libs C ++ doivent être intégrés dans un package, et je recherche une configuration / une combinaison d'outils / IDE que je devrais travailler facilement. Je sais que beaucoup est le goût dépendante, mais il serait toujours agréable de connaître mes options avant de choisir. P>
Donc: lorsque vous développez des paquets R avec C ++ Libs, quelle est la configuration avec laquelle vous travaillez? P>
Désolé, si cette question a été posée auparavant. J'ai trouvé une liste de tous les éditeurs pour R, mais rien spécifiquement dirigé vers le développement de packages, y compris le code C ++. Toute astuce ou astuces sont vraiment appréciées. P>
Edit: la plate-forme est Windows, mais je peux passer à Linux sans problèmes (Dual Boot, seule chose qui me tenait à utiliser Ubuntu est l'absence d'un conducteur décent pour ma vieille combinaison de carte / vieille écran) p>
4 Réponses :
Je suis bien sûr pleinement en faveur de plus RCPP travail :) p>
Quant à vos questions, et dans l'ordre: P>
QtCreator Code> IDE qui est assez agréable sur Linux et Windows (mais ne fait pas R). Li>
- Non, sur Linux Tout est prêt à être fait (et oui, sous Windows, vous avez besoin de rotools) ... Li>
- pas vraiment - vous savez probablement déjà sur inline qui est bon pour tester r / C ++ Code Snippets. Li>
ul>
éditer: em> Donc, d'une manière, ce n'est vraiment pas différent du développement normal R / C / C ++ / FORTRAN. Et dans ce cas, je me réfère généralement à r FAQ section 6 qui est entièrement consacré à r et emacs :)
Cela dit, la fixation des emacs pour le travail C ++ n'est pas évidente et il y a un certain nombre de questions et de messages ici. Je n'utilise aucun navigateur de classe particulier, mais il y en a quelques-uns, ainsi que des approches de l'achèvement automatique des types, etc. P>
Windows c'est, désolé de ne pas la mentionner. et merci pour le pointeur à en ligne. Entendu à ce sujet avant d'un certain Sir Eddelbuettel, mais oublié à nouveau.
Oui, si et quand vous avez des fenêtres lui-même apprivoisés avec des rtools, le bon chemin, peut-être du latex, .... alors le choix de l'éditeur est simple. Choisir un qui se sent bien. Certaines personnes jurent également par Eclipse pour C ++ et R (à l'aide d'un plugin appelé statut pour R).
Vous voudrez qu'un éditeur pouvant gérer plusieurs langues, R, C +, peut-être des fabricants, etc. puisque vous mentionnez RTools, il semble que vous êtes sous Windows. Je suggérerais NotePad ++ Il gère R, C ++ et beaucoup d'autres langues. De plus, vous pouvez configurer la commande personnalisée via NPPEXEC pour construire plus facilement le package. J'ai développé quelques packages qui utilisent fortement C / C ++ à l'aide de Notepad ++. P>
Eclipse + statut Si vous souhaitez vous joindre à nous dans le monde moderne :) < / p>
@Dr g: Je l'ai essayé, mais je n'étais pas convaincu d'Eclipse / Statet d'utiliser R. J'utilise Tinn-R, et c'est toujours le meilleur à mon goût. Mais je vais essayer à nouveau avec C ++
Sert le but en effet, même si je continue à utiliser TINN-R lorsque je travaille avec R seul.
Je échangeais entre statut et Sciviews, mais STATET est activement développé et les fonctionnalités sont ajoutées régulièrement. Je trouve qu'une fois que vous vous y êtes habitué, c'est un excellent environnement de travail ...
Je suis en retard à la fête, mais vous obtenez de l'éclipse et de courir avec RCPP est une tâche de non-trival. Voici quelque chose pour vous aider à démarrer: blog.fellstat.com/?p=170
@Ianfellows Vous devriez poster une réponse séparée de votre choix. Je ne peux pas imaginer à quel point il serait difficile de configurer Eclipse + Statet + RCPP sans votre article. Merci pour ça.
Je viens d'écrire un script Clake pour générer un projet Eclipse CDT pour développer un package RCPP.
De plus, Clake pourrait être capable de générer des projets de code ou de KDevelop3, mais je n'ai pas vérifié ces fonctionnalités encore. P>
Télécharger FindLibr.Cmake de Github A >
fourni par RStudio P> LI>
génère un package RCPP, par exemple p>
Mettez le script suivant (ou téléchargez-le de GIST ), nommé CmAkelists .txt em>, dans le dossier généré
tels que personnaliser Générez un projet avec CMAKE P>
Éclipse ouvert et import de Vous pouvez créer le projet qui sera converti en mkdir build # don't create subdirectory of RcppPackage
cd build
cmake -G "Eclipse CDT4 - Unix Makefiles" <path to RcppPackage> -DCMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT=TRUE
rcpppackage code> dans l'exemple précédent. P>
cmake_minimum_required(VERSION 2.8)
project(RcppPackage)
find_package(LibR)
if(${LIBR_FOUND})
else()
message(FATAL_ERROR "No R...")
endif()
message(STATUS ${CMAKE_SOURCE_DIR})
execute_process(
COMMAND ${LIBR_EXECUTABLE} "--slave" "-e" "stopifnot(require('Rcpp'));cat(Rcpp:::Rcpp.system.file('include'))"
OUTPUT_VARIABLE LIBRCPP_INCLUDE_DIRS
)
include_directories(BEFORE ${LIBR_INCLUDE_DIRS})
message(STATUS ${LIBR_INCLUDE_DIRS})
include_directories(BEFORE ${LIBRCPP_INCLUDE_DIRS})
message(STATUS ${LIBRCPP_INCLUDE_DIRS})
add_custom_target(RcppPackage ALL
COMMAND find ${CMAKE_SOURCE_DIR} -name "*.o" -exec rm "{}" "\;"
COMMAND find ${CMAKE_SOURCE_DIR} -name "*.so" -exec rm "{}" "\;"
COMMAND ${LIBR_EXECUTABLE} "--slave" "-e" "\"stopifnot(require(roxygen2));roxygenize('${CMAKE_SOURCE_DIR}',roclets=c('rd','collate','namespace'))\""
COMMAND ${LIBR_EXECUTABLE} CMD INSTALL "${CMAKE_SOURCE_DIR}")
roxygener code> et
r cmd installe code> dans cmakelists.txt em> p> li>
library(Rcpp)
Rcpp.package.skeleton("RcppPackage")
Build Code> (voir CUKE-ECLIPSE -CDT par exemple).
Après indexation, profitez de plusieurs fonctionnalités pratiques fournies par Eclipse CDT
tels que le traçage et l'autocomplete. p> li>
r cmd installer code> ou
quelque chose dans les cmakelists.txt em>. p> li>
ul> p>
Quelle plate-forme? Windows, devine de rtools?
Vous pouvez échanger l'une des balises «IDE» et «développement» pour «RCPP».