Я ищу использовать библиотеку нейронных сетей C++ «OpenNN». http://www.opennn.net/using openNN в визуальной студии (неразрешенный внешний символ)
Я относительно новичок в управлении проектами на С ++, и я считаю, что моя проблема вызвана этим.
Я клонировал openNN репо.
Я скопировал соответствующие папки из репо в папку, которую я создал, чтобы содержать весь проект OpenNN, который я планирую сделать.
Затем я создал консольное приложение C++ в visual studio, в этой папке, которую я использую для тестирования.
так реж структура:
OpenNN (где я планирую держать все проекты openNN)
--- eigen
--- opennn
--- tinyxml2
--- OpenNNTest
(мой тестовая папка проекта)
Я провел некоторое тестирование с помощью классов Vector и Matrix, которые являются частью OpenNN и что все работает нормально.
Код ниже, однако возвращает следующие два внешних ошибок символов:
Error LNK2019 unresolved external symbol "public: __thiscall OpenNN::NeuralNetwork::NeuralNetwork(class OpenNN::Vector<unsigned int> const &)" ([email protected]@@[email protected][email protected]@[email protected]@Z) referenced in function "void __cdecl NNTest(void)" ([email protected]@YAXXZ) OpenNNTest D:\Projects\OpenNN\OpenNNTest\OpenNNTest\OpenNNTest.obj 1
Error LNK2019 unresolved external symbol "public: virtual __thiscall
OpenNN::NeuralNetwork::~NeuralNetwork(void)" ([email protected]@@[email protected]) referenced in function "void __cdecl NNTest(void)" ([email protected]@YAXXZ) OpenNNTest D:\Projects\OpenNN\OpenNNTest\OpenNNTest\OpenNNTest.obj 1
интересно, если я изменю:
OpenNN::NeuralNetwork nn(architecture);
в
OpenNN::NeuralNetwork nn();
Нет проблем, как если бы оно находит конструктор по умолчанию, но не перегружен?
код, я использую это следующим образом:
#include "stdafx.h"
#include "../../opennn/opennn.h"
using namespace OpenNN;
using std::cout;
using std::endl;
void NNTest()
{
OpenNN::Vector<unsigned> architecture(5);
architecture[0] = 2;
architecture[1] = 2;
architecture[2] = 4;
architecture[3] = 3;
architecture[4] = 1;
OpenNN::NeuralNetwork nn(architecture);
//Vector<double> inputs(2);
//inputs[0] = 0.5;
//inputs[1] = 0.1;
//Vector<double> outputs = nn.calculate_outputs(inputs);
//cout << outputs << endl;
//nn.save("neural_network.xml");
}
int main()
{
NNTest();
getchar();
return 0;
}