[英]Unable to link to quantlib
我正在嘗試學習QuantLib,這是我的第一個程序,我打算使用該程序檢查我的環境是否正常,並且能夠鏈接到quantlib:
#include <ql/time/all.hpp>
using namespace QuantLib;
int main ()
{
Date d1(14, February, 2014);
return 0;
}
我在/ usr / local / lib下安裝了我的quantumlib庫,在/ usr / local / include / ql下安裝了標頭。 我嘗試使用以下方法編譯該小程序:
$ LC_ALL=C g++ -Wall -lQuantLib -o sample1 quantlib-sample-1.cpp
/tmp/cc4Z2xsf.o: In function `main':
quantlib-sample-1.cpp:(.text+0x1f): undefined reference to `QuantLib::Date::Date(int, QuantLib::Month, int)'
collect2: error: ld returned 1 exit status
如果我包含“ ql / quantlib.hpp”,事情會變得更糟(像上面的錯誤更多)。 我嘗試通過“ -L / usr / local / lib”來檢查我的ldconfig是否正常。
我在這里迷路了...有什么線索嗎?
用於編譯的命令格式錯誤。 庫鏈接選項需要放在輸出和輸入之后。 這有效:
$ LC_ALL=C g++ -Wall -o sample1 quantlib-sample-1.cpp -lQuantLib
在命令末尾帶有“ -lQuantLib”。
它可以同時包括“ ql / quantlib.hpp”或“ ql / time / all.hpp”。
如果我將第一行更改為更通用(並推薦)的包羅萬象,則對我有用:
edd@max:/tmp$ g++ -o qldate qldate.cpp -lQuantLib ## no errors or warnings
edd@max:/tmp$ cat qldate.cpp
#include <ql/quantlib.hpp>
using namespace QuantLib;
int main ()
{
Date d1(14, February, 2014);
return 0;
}
edd@max:/tmp$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.