这可能不是一个悬而未决的问题,我是一个C++新手。
我正试图在REPL中使用一个名为QuantLib的库。
我可以通过在GCC中加载库
#include "ql/quantlib.hpp"
然后用CCD_ 1编译。
在坚持中,我一直在尝试以下3行的排列:
.I "ql/quantlib.hpp"
#include "ql/quantlib.hpp"
.L QuantLib
如果我先运行#include
,我会得到一个很长的错误,包括之类的东西
You are probably missing the definition of
QuantLib::AbcdAtmVolCurve::accept(QuantLib::AcyclicVisitor&) Maybe you
need to load the corresponding shared library?
但是如果我运行
.I "ql/quantlib.hpp"
#include "ql/quantlib.hpp"
那么一切似乎都很好。
.L Quantlib
导致
input_line_4:1:10: fatal error: 'QuantLib' file not found
#include "QuantLib"
无论何时运行。
在kfsone的评论之后,我尝试了以下内容
.L /usr/lib/libQuantLib.so
#include "ql/quantlib.hpp"
这是一个简短的错误!
IncrementalExecutor::executeFunction: symbol '_ZN8QuantLib5ErrorC1ERKSslS2_S2_' unresolved while linking function '__cxx_global_var_init34'!
You are probably missing the definition of QuantLib::Error::Error(std::string const&, long, std::string const&, std::string const&)
Maybe you need to load the corresponding shared library?
Cling需要知道要使用的结构/函数的语法,并拥有执行的二进制代码。
对于语法,您必须添加include,例如:
#include "myfile.hpp"
对于二进制代码,您必须像这样加载库:
#pragma cling load("myfile.so.9.220.0")