[英]Raspberry Pi 3 ,fann_create_standard not defined
我最近通过树莓派的突触管理器下载了FANN(快速人工神经网络)库。 我正在尝试运行默认应用程序,如下所示:
#include "fann.h"
#include "floatfann.h"
include "fann_data.h"
int main()
{
const unsigned int num_input = 2;
const unsigned int num_output = 1;
const unsigned int num_layers = 3;
const unsigned int num_neurons_hidden = 3;
const float desired_error = (const float) 0.001;
const unsigned int max_epochs = 500000;
const unsigned int epochs_between_reports = 1000;
struct fann *ann = fann_create_standard(num_layers, num_input,
num_neurons_hidden, num_output);
fann_set_activation_function_hidden(ann, FANN_SIGMOID_SYMMETRIC);
fann_set_activation_function_output(ann, FANN_SIGMOID_SYMMETRIC);
fann_train_on_file(ann, "xor.data", max_epochs,
epochs_between_reports, desired_error);
fann_save(ann, "xor_float.net");
fann_destroy(ann);
return 0;
}
我得到以下输出:
enter code here
||=== Build: Debug in ArtificialNeuralNetworkExample (compiler: GNU GCC Compi ler) ===|
obj/Debug/main.o||In function `main':|
/home/pi/Documents/ArtificialNeuralNetworkExample/main.c|14|undefined reference to `fann_create_standard'|
/home/pi/Documents/ArtificialNeuralNetworkExample/main.c|17|undefined reference to `fann_set_activation_function_hidden'|
/home/pi/Documents/ArtificialNeuralNetworkExample/main.c|18|undefined reference to `fann_set_activation_function_output'|
/home/pi/Documents/ArtificialNeuralNetworkExample/main.c|20|undefined reference to `fann_train_on_file'|
/home/pi/Documents/ArtificialNeuralNetworkExample/main.c|23|undefined reference to `fann_save'|
/home/pi/Documents/ArtificialNeuralNetworkExample/main.c|25|undefined reference to `fann_destroy'|
||=== Build failed: 6 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|
还尝试使用gcc
链接库,如下所示:
gcc -lfann main.c
不知道该怎么办。
我相信,您需要更改库在编译语句中出现的顺序。
gcc -lfann main.c
应该
gcc main.c -lfann
因为main.c
中使用的函数存在于libfann.so
。
引用在线gcc手册 ,
-l library
[....]在命令中编写此选项的位置有所不同; 链接器按照指定的顺序搜索和处理库和目标文件。 因此,
foo.o -lz bar.o
搜索库z
文件后,foo.o
但在此之前bar.o
。 如果bar.o
引用z
中的函数,则可能不会加载这些函数。
在你的情况,你面对类似的情况,你的情况下,图书馆应在出现后main.c
从库中的函数中使用main.c
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.