簡體   English   中英

無法鏈接到Quantlib

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM