量化庫

在 Mac OS X 上安裝 QuantLib

  • August 14, 2018

在 Mac OS X 上編譯和連結 QuantLib 1.9 的最佳方法是什麼?

我已經安裝了 Xcode 並且理解 #include 可能會工作,如果創建一個新的 QuantLib main(),但以前從未使用過這個 IDE。

我可以在命令行上編譯和連結嗎?我有最新的 OS X 10.12,所以我應該使用 stdlib=libc++ 還是 =libstdc++?

我得到的錯誤是 –with-boost 是無法辨識的選項。Boost 安裝在 opt/local/lib 和 opt/local/install 中(我認為 - 文件存在但有什麼方法可以檢查這個?我如何測試和配置路徑)

總體錯誤是 C 編譯器無法創建執行檔…

./configure --with-boost-include=/opt/local/include/ \
           --with-boost-lib=/opt/local/lib/ --prefix=/opt/local/ \
           CXXFLAGS='-O2 -stdlib=libc++ -mmacosx-version-min=10.6' \
           LDFLAGS='-stdlib=libc++ -mmacosx-version-min=10.6'

我將 Xcode 用於 QuantLib。它工作得很好。要編譯項目,只需將所有源文件放入 Xcode 項目中,例如:

在此處輸入圖像描述

那是我使用的 C++ 編譯器:

在此處輸入圖像描述

這就是我配置標頭檔的方式。你只需要boost在我的截圖中。您還需要告訴 Xcode 在哪裡可以找到 QuantLib 標頭檔。其他路徑用於我自己的程式碼。

在此處輸入圖像描述

然後我創建了一個新的源文件main

int main(int argc, char ** argv)

記住#include <ql/quantlib.hpp>在你的主文件中添加。

我在 Mac OS X 和 Ubuntu 上都使用過 QuantLib。

此處提供的答案SmallChess是為 Xcode 設置 QuantLib 的完美解釋/指南。我也在 Xcode 上配置了 QuantLib,直到我改用Eclipse IDE for C/C++,因為我更喜歡它而不是 Xcode。(我現在也主要在 Ubuntu 上工作,這意味著我必須使用 Eclipse 而不是 Xcode)。

這裡的優點是 Eclipse 在 OS X、Linux 和 Windows 上兼容,從而提供了更多的靈活性。Eclipse 還支持多種語言,因此它是一個學習如何使用的好 IDE。您可以在此處下載適用於 OS X 的最新 Eclipse C/C++ IDE:Mac OS X (Cocoa) 64-bit

使用 Eclipse 設置 QuantLib 的過程類似於 Xcode,但是它可能需要在 UNIX 命令行中花費更多的質量時間(這沒什麼錯嗎?!)

我可以在命令行上編譯和連結嗎?

是的當然!我喜歡在命令行中工作,因此我經常只使用 Eclipse 來開發原始碼、編輯和調試,因為使用 IDE 比使用 CLI 更容易看出哪裡出了問題。

一旦程式碼在 IDE 中開發完成,就可以直接cd進入正確的目錄,然後連接 QuantLib編譯並執行它就可以了clang++ gaussian1dmodels.cpp -l QuantLib。請注意,無論IDE如何,此命令都有效,如果您使用的是該命令,則可以替換clang++g++。為了跑步,./a.out做這項工作。這為您提供了集成開發環境的便利性和清晰性以及 UNIX CLI 的靈活性。

我假設您已經安裝了 QuantLib,而您的問題更多是關於將它與 IDE 集成。如果沒有,只需下載tar.gz 文件tar xzvf QuantLib-whateverversionyouwant.tar.gz即可關於環境變數等的一些額外配置。沒有必要詳細介紹這一步,因為所有這些都在他們的OS X 文件頁面上有很好的記錄。一旦你這樣做了,你就執行 amake和 a sudo make install

如果您對 Eclipse 與 Xcode 相比的樣子感到好奇,這裡有一個螢幕截圖:蝕

重要的是要記住在編譯時通過 CLI 連結您正在使用的任何庫。

如果您只想通過 Eclipse 完成所有操作,則必須執行以下操作:

  1. 將原始碼放在正確的位置:要正確執行此操作,請按文件、新建、C++ 項目,然後您可以選擇要使用的 C++ 編譯器。在此之後,您有幾個選項,您可以右鍵點擊您的項目,點擊新建,然後從他們的github 儲存庫選擇你的 C 編譯器中歸檔並複制和粘貼範例。或者您可以進入終端,確保您在安裝 QuantLib(和範例)的目錄中,然後輸入. 現在,這顯然完全取決於您為工作區命名的內容、安裝東西的位置等,但是這裡的關鍵命令是指定您的目錄。我更喜歡使用 CLI 而不是 GUI,但是兩者都可以,CLI 更直覺。cp EquityOption.cpp ~/eclipse-workspace/quantlibtest.cpp/src/``cp
  2. 添加庫路徑:一旦原始碼在正確的位置,您必須配置項目的屬性。回想一下,我們不僅安裝了 QuantLib,還安裝了 boost,我們需要同時添加兩者。轉到 Eclipse 中的項目,轉到屬性(在 Linux 上按 alt enter),轉到 C/C++ 建構,設置,為配置設置選擇“所有配置”,轉到庫,然後添加 QuantLib 和 boost_timer。一旦添加了這些庫和路徑,就可以通過 Eclipse 進行編譯了!

引用自:https://quant.stackexchange.com/questions/33573