-1

qt環境でfannライブラリを使用しようとしています.fannの簡単な例をテストするプロジェクトを作成し、「LIBS += -L/usr/local/lib -lfann」を「.proファイル」に追加しますが、このエラーで反論した例を実行してください:

undefined reference to 'sin'      libfann.so
undefined reference to 'exp'      libfann.so
undefined reference to 'log'      libfann.so
undefined reference to 'cos'      libfann.so
undefined reference to 'pow'      libfann.so
undefined reference to 'sqrt'     libfann.so
undefined reference to 'floor'    libfann.so

. . . 数学関数に問題があるようですが、どうすれば直せますか?

4

1 に答える 1

0

わかりました、最終的に間違いを見つけました。ライブラリのリンクの問題です。

それを解決するにはいくつかの方法があります:

  1. 必要な .h および .c ファイルを fann からコピーしてプロジェクトに追加します (たとえば、xor の例を実行する場合は、fann.h および fann.c をコピーしてプロジェクトに直接貼り付ける必要があります)。

  2. より良い方法: スタティック ライブラリ "libfann.a" をビルドし、プロジェクトに追加します。

    • 次のようにビルドします。

    • それを追加します:

      • Qmake の場合: libfann.so が「usr/local/lib」にインストールされている場合は、「LIBS += -lfann」の代わりに「LIBS += -L/usr/local/lib -lfann」を使用します。
      • Cmake の場合: 最後の 2 行を追加します
        # after add_executable(${PROJECT_NAME} "main.cpp") link_directories(/usr/local/lib) # -L flags target_link_libraries(${PROJECT_NAME} fann) # -l flags
于 2012-07-24T13:02:32.307 に答える