Форум программистов, компьютерный форум CyberForum.ru

FANN и Dev-C++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.73
zago-vlad
13 / 8 / 1
Регистрация: 12.01.2010
Сообщений: 106
30.10.2011, 00:04     FANN и Dev-C++ #1
Всем привет!
Недавно скачал библиотеку FANN для работы с нейронными сетями в С++. При попытке скомпилировать этот(и другие) код из examples в Dev-C++ компилятор выдает ошибки линковщика:
[Link error] undefined reference to 'fann_create_standard'
[Link error] undefined reference to 'fann_set_activation_function_hidden'
[Link error] undefined reference to 'fann_set_activation_function_output'
[Link error] undefined reference to 'fann_train_on_file'
[Link error] undefined reference to 'fann_save'
[Link error] undefined reference to 'fann_destroy'
ld returned 1 exit status

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*
Fast Artificial Neural Network Library (fann)
Copyright (C) 2003 Steffen Nissen (lukesky@diku.dk)
 
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
 
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.
 
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/
 
#include "fann.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;
}
Что делать? Как заставить Dev-C++ скомпилировать этот код?

P.S. fann.h и другие библиотечный файлы FANN находятся в одной папке с программой
P.P.S Ради интереса пробовал компилировать этот код в Visual C++, - там все скомпилировалось нормально.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2011, 00:04     FANN и Dev-C++
Посмотрите здесь:

C++ dev c++
C++ Dev C++
C++ Dev C
Нейросеть на FANN ошибка unresolved external '_fann_run' referenced from почему? C++
C++ Dev C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Haster
инженер-системотехник
 Аватар для Haster
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
30.10.2011, 01:43     FANN и Dev-C++ #2
Ну судя по всему компилятор не может найти путь к указанным функциям.
Проверьте настройки компилятора, где он ищет .h файлы
zago-vlad
13 / 8 / 1
Регистрация: 12.01.2010
Сообщений: 106
30.10.2011, 11:15  [ТС]     FANN и Dev-C++ #3
Цитата Сообщение от Haster Посмотреть сообщение
Ну судя по всему компилятор не может найти путь к указанным функциям.
Проверьте настройки компилятора, где он ищет .h файлы
Библиотеку он находит нормально, если бы ее не было, то появилась бы соответствующая ошибка
Haster
инженер-системотехник
 Аватар для Haster
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
30.10.2011, 13:21     FANN и Dev-C++ #4
А где находятся перечисленные функции?
В какой-то либе или есть C++ содержащий их код?
Если 1 вариант, то нужно подключить либу, если 2-ой - то С++ файл добавить в проект
zago-vlad
13 / 8 / 1
Регистрация: 12.01.2010
Сообщений: 106
30.10.2011, 15:14  [ТС]     FANN и Dev-C++ #5
Цитата Сообщение от Haster Посмотреть сообщение
А где находятся перечисленные функции?
В какой-то либе или есть C++ содержащий их код?
Если 1 вариант, то нужно подключить либу, если 2-ой - то С++ файл добавить в проект
В либе fann.h, как видишь она подключена нормально, и этот же код нормально компилится в visual с++, а в Dev-C++ не хочет. Кстати, если компилятор не находит функции, то он выводит ошибки чуть другого рода
Haster
инженер-системотехник
 Аватар для Haster
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
30.10.2011, 16:20     FANN и Dev-C++ #6
fann.h - это не либа, а заголовочный файл, в котором описаны прототипы функций, а вот где находятся сами функции - это вопрос.

Или у тебя прямо в этот файл засунуты коды функций?
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
30.10.2011, 16:28     FANN и Dev-C++ #7
А никаких либ подключать не надо? Что-то типа libfann.so или libfann.dll
zago-vlad
13 / 8 / 1
Регистрация: 12.01.2010
Сообщений: 106
30.10.2011, 17:57  [ТС]     FANN и Dev-C++ #8
Цитата Сообщение от Haster Посмотреть сообщение
fann.h - это не либа, а заголовочный файл, в котором описаны прототипы функций, а вот где находятся сами функции - это вопрос.

Или у тебя прямо в этот файл засунуты коды функций?
Сейчас поковыряю fann.h, потом напишу

Добавлено через 21 минуту
Цитата Сообщение от Nameless One Посмотреть сообщение
А никаких либ подключать не надо? Что-то типа libfann.so или libfann.dll
Походу там надо dll-ку скомпилировать, но там проэкт для VC++ 6.0, а у меня VC++ 2010 Express выдает ошибку при попытке преобразования. Кстати, как потом dll в проэкт Dev-C++ подключить? А то раньше не приходилось иметь дело с dll
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
30.10.2011, 18:56     FANN и Dev-C++ #9
zago-vlad, подключение делай через опцию "-l"
zago-vlad
13 / 8 / 1
Регистрация: 12.01.2010
Сообщений: 106
31.10.2011, 01:09  [ТС]     FANN и Dev-C++ #10
Странно, скомпилировал все необходимые dll-ки, подключил их таким образом:
g++ адрес_моей_проги -о адрес_екзешника -l адрес_библиотеки
Компилятор нашел dll-ки, но выводит те же ошибки.
Что делать? Если у кого-то есть Dev-C++, свободное время и желание, то я могу кинуть ссылку на FANN, можете поэксперементировать на своем компе.
Nameless One
Эксперт С++
 Аватар для Nameless One
5754 / 3403 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
31.10.2011, 04:38     FANN и Dev-C++ #11
zago-vlad, как у тебя называется *.dll? Если fann.dll, то тогда так:
Код
g++ source.cpp -o executable.exe -lfann
При этом *.dll должна быть видна компилятору
Haster
инженер-системотехник
 Аватар для Haster
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
31.10.2011, 09:43     FANN и Dev-C++ #12
zago-vlad, скидывай
zago-vlad
13 / 8 / 1
Регистрация: 12.01.2010
Сообщений: 106
31.10.2011, 17:46  [ТС]     FANN и Dev-C++ #13
Цитата Сообщение от Haster Посмотреть сообщение
zago-vlad, скидывай
Держи

Добавлено через 5 минут
Цитата Сообщение от Haster Посмотреть сообщение
zago-vlad, скидывай
Держи
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2011, 22:45     FANN и Dev-C++
Еще ссылки по теме:

C++ dev-c++
Ошибки при установке библиотеки FANN C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
zago-vlad
13 / 8 / 1
Регистрация: 12.01.2010
Сообщений: 106
04.11.2011, 22:45  [ТС]     FANN и Dev-C++ #14
Как решить даную проблему?
Yandex
Объявления
04.11.2011, 22:45     FANN и Dev-C++
Ответ Создать тему
Опции темы

Текущее время: 06:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru