2016-07-25 23 views
0

我已經安裝了TA-lib的在我的Ubuntu 14.04作爲如何鏈接代碼塊中的ta-lib(Ubuntu 14.04)?

extract tar.gz 
./configure 
./make 
./make install 

它在/usr/local/include/ta-lib安裝TA-lib的官方文檔中提到。然後我將這個頭文件添加到talib中,並且無錯地編譯了代碼。但是當我加入了TA-lib的示例代碼

#include <ta-lib/ta_libc.h> 
    TA_RetCode retCode; 
    retCode = TA_Initialize(); 
    if(retCode != TA_SUCCESS) 
    printf("Cannot initialize TA-Lib (%d)!\n", retCode); 
    else 
    { 
     printf("TA-Lib correctly initialized.\n"); 

     /* ... other TA-Lib functions can be used here. */ 

     TA_Shutdown(); 
    } 

它給了一個不確定錯誤,我知道是由於代碼塊的連接問題。所以我手動project>build options> linker settings>link libraries-lta-lib添加ta-libother linker options但現在它給這個錯誤

/usr/bin/ld: cannot find -lta-lib 

回答

1
./configure 
./make 
./make install 

不會安裝該軟件包。

./configure 
make 
sudo make install 

將安裝它。這可能是你做的。

它在/ usr /本地/包括/ TA-lib中安裝了TA-lib的

不完全是。它在 /usr/local/include/ta-lib下安裝了庫的頭文件,並在/usr/local/lib下安裝了靜態庫和共享庫 庫。

我手動TA-lib中添加項目>編譯選項>連接設置>連接庫 和-lta-lib添加到其他連接器選項

這些都是做同樣的事情的替代方式。它們都會導致 將選項-lta-lib傳遞給鏈接器,因此鏈接器命令行 會顯示此選項兩次。

該選項指導鏈接搜索名爲libta-lib.so或共享庫,沒有 的是,靜態庫中的每個鏈接的搜索稱爲libta-lib.a您已在其默認搜索指定的,如果有的話,然後 目錄 目錄。

你沒有指定任何鏈接的搜索目錄,但這不要緊,因爲 /usr/local/lib,其中庫安裝,是鏈接的 默認搜索目錄之一。不過

鏈接器抱怨說,它無法找到庫選項 -lta-lib,因爲安裝在/usr/local/lib共享庫是 libta_lib.so和靜態庫是libta_lib.a。不是libta-lib.{so|a}

所以: -

  • ta_lib構建選項替換ta-lib - >連接器設置 - > 鏈接庫
  • 刪除-lta-lib構建選項 - >鏈接器設置 - > O其他連接器選項
+0

感謝您對'sudo make install'和'ta_lib'現在的編譯沒有任何錯誤 – Eka