Я надеялся повторно использовать функции даты и календаря в QuantLib в своем R-коде. Поскольку RQuantLib не охватывает все календари, я скомпилировал и установил последнюю версию QuantLib. Однако я не могу запустить пример, приведенный в similar question. Как настроить Rcpp для правильной компиляции и использования кода на C++ ниже?Использование последнего кода QuantLib с использованием Rcpp
Я попытался запустить следующий код (в файле "myCode.cpp") с помощью функции Rcpp sourceCpp ("myCode.cpp"):
#include <ql/quantlib.hpp>
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::depends(RQuantLib)]]
// [[Rcpp::export]]
double timesTwo(double x) {
QuantLib::Calendar myCal = QuantLib::UnitedKingdom();
QuantLib::Date newYearsEve(31, QuantLib::Dec, 2008);
QuantLib::Rate zc3mQuote = x;
return zc3mQuote * 2;
}
В результате на следующих ошибок:
ld: warning: directory not found for option '-L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3/x86_64'
ld: warning: directory not found for option '-L/usr/local/lib/x86_64'
ld: warning: directory not found for option '-L/usr/local/lib/gcc/i686-apple-darwin8/4.2.3'
ld: library not found for -lgfortran
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [sourceCpp_65848.so] Error 1
вещи прекрасно работать при компиляции файла «myCode.cpp» в командной строке с помощью следующей команды:
g++ -I/opt/local/include/ -I/opt/local/include/boost \
-I/Library/Frameworks/R.framework/Resources/include -DNDEBUG \
-I/opt/local/include -I/opt/local/include -I/usr/local/include \
-I"/Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rcpp/include" \
-I"/Library/Frameworks/R.framework/Versions/3.1/Resources/library/RQuantLib/include" \
-fPIC -mtune=core2 -g -O2 -c QuantLibTest2.cpp -o QuantLibTest2.o \
-L/opt/local/lib/ -lQuantLib
Wow, быстрый ответ! Ошибка в бинарнике CRAN, следует ли использовать источники? Я сейчас пытаюсь использовать GitHub SOURCES. quantlib-config находится в моем текущем пути. – RndmSymbl
Да, пожалуйста. Для чего-то подобного вам почти всегда нужны источники. В настоящее время мы с Микеле делаем несколько изменений, так почему бы вам не присоединиться к нам на rquantlib-devel (это довольно тихий список). –
Я установил из CRAN и GitHub, но та же ошибка появляется. Это проблема с RQuantLib или с Rccp? Посмотрите список рассылки позже на этой неделе, когда закончите мою текущую работу по 30/360 и подсчету календаря США. – RndmSymbl