0

最新バージョン2.2.0の代わりにlibfannバージョン2.0.1を使用しようとしていますが、その方法がわかりませんでした。それを行う方法について何か考えはありますか?

通常、これは完全に機能します。

gcc fann_calculator.c -o run_fann_calculator -lfann -lm

ここで、fann_calculator.cには、ニューラルネットワークを呼び出すプログラムが含まれています。

ありがとう

4

1 に答える 1

6

これは、2つのライブラリがどこにあるかによって異なります。それらが同じディレクトリにインストールされている場合(たとえば、両方がにインストールされている場合/usr/lib/)、おそらく最も若いディレクトリを取得します。

ld.so(8)およびldd(1)のマニュアルページを注意深く読むことをお勧めします。確かに、どのライブラリがロードされているかを追跡できます(たとえば、LD_DEBUG環境変数を使用)。ライブラリのインストール後に、ldconfigを適切に再実行することを忘れないでください。

LD_LIBRARY_PATHトリックをプレイすることもできます。たとえば、に設定して、必要な正確なライブラリに$HOME/lib:/usr/lib適切なシンボリックリンクをインストールします。$HOME/lib/たとえば、あなたはするかもしれません

  ln -s /usr/lib/libfann.so.2.0.1 $HOME/lib/libfann.so.2
  export LD_LIBRARY_PATH=$HOME/lib:/usr/lib:/lib

次にldd run_fann_calculator、期待される[バージョンの]libfannライブラリを取得することを確認します。

プログラムライブラリのハウツーを読むことを忘れないでください。のような適切なフラグをldに渡したい場合があります-rpathgccおそらく、次のような Gccリンクオプションを使用して、それらを渡す必要がある場合があります。-Wl

于 2012-10-26T17:58:16.100 に答える