2016-07-25 3 views
0

公式ドキュメントで述べたように、私はそれは/usr/local/include/ta-libにTA-libがインストールされ、私のUbuntu 14.04でTA-libのコードブロック(Ubuntu 14.04)でta-libをリンクする方法は?

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

をインストールしました。私はtalibだけにヘッダ#include <ta-lib/ta_libc.h>を追加し、エラーなしでコードをコンパイルしました。私は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(); 
    } 

を追加したとき、それは私がコードブロックで、問題をリンクによるものであった知っている 未定義エラーが発生しました。パッケージをインストールしませんので、私は手動で other linker optionsproject>build options> linker settings>link librariesta-lib-lta-libを追加しましたが、今のは、このエラーに

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

答えて

1
./configure 
./make 
./make install 

を与えます。

./configure 
make 
sudo make install 

をインストールします。それはおそらくあなたがしたことでしょう。

まさに含ま/ TA-libの

/は/ usr/localにTA-libがインストールされていません。ライブラリのヘッダファイルを /usr/local/include/ta-libにインストールし、 ライブラリを/usr/local/libの下にインストールしました。私は手動でプロジェクトにTA-libに追加

>他のリンカオプションにオプション>リンカ設定>リンクライブラリ と-lta-LIBを構築

人は同じことを行うための別の方法です。どちらも オプション-lta-libをリンカに渡すので、リンカのコマンドライン にこのオプションが2回表示されます。オプションは、共有ライブラリを検索するようにリンカーに指示し

libta-lib.soと呼ばれるか、静的ライブラリがあれば、指定したリンカ検索の各 ディレクトリ内libta-lib.aと呼ばれ、そのデフォルトの検索では、 に失敗します ディレクトリ。あなたは何のリンカ検索ディレクトリを指定していないが、それはOKです

は、ライブラリがインストールされている /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 therリンカオプション
+0

「sudo make install」と「ta_lib」について、エラーなしでコンパイルしていただきありがとうございました – Eka

関連する問題