-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. 从 fann 复制所需的 .h 和 .c 文件并将它们添加到您的项目中(例如,如果您运行 xor 示例,您应该将 fann.h 和 fann.c 直接复制并粘贴到您的项目中)

  2. 更好的方法:构建静态库“libfann.a”并将其添加到项目中。

    • 构建它,如下:

    • 添加它:

      • 使用 Qmake:如果您的 libfann.so 安装在“usr/local/lib”中,请使用“LIBS += -L/usr/local/lib -lfann”而不是“LIBS += -lfann”
      • 使用 Cmake:添加最后两行
        # 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 回答