Ссылка на неразрешенный внешний символ LNK2019
Пытаюсь собрать dll библиотеку под дерево Меркла, но получаю ошибку при сборке LNK2019, помогите обнаружить где она может быть, пожалуйста
#include <iostream>
#include "../Mercle_tree_cour/TreeStruct.h"
#include "../Mercle_tree_cour/Node.h"
#include "../Mercle_tree_cour/misc.h"
#include <string>
extern "C" __declspec(dllexport) void MercleTree() {
std::vector<Node*> leaves;
//create sample data
int CONTINUE;
std::string HashString;
/*
Объявляем бесконечный цикл который при вводе "2" - завершает программу и выводит дерево,
а при "1" - создает новый узел дерева
*/
for (;;) {
std::cout << "What u want?"
<< std::endl
<< "1) add new Node"
<< std::endl
<< "2) Output ur Mercle Tree"
<< std::endl;
std::cin >> CONTINUE;
/*Если CONTINUE != 1 or 2 - завершаем программу с сообщением об ошибке*/
if (CONTINUE == 1 || CONTINUE == 2) {
if (CONTINUE == 1) {
std::cout << "Input ur node";
std::cin >> HashString;
// Добавляем узел для HashString
leaves.push_back(new Node(hash_sha256(HashString)));
}
if (CONTINUE == 2) {
//Алгоритм вывода дерева и выход из цикла
for (unsigned int i = 0; i < leaves.size(); i++) {
leaves[i]->left = NULL;
leaves[i]->right = NULL;
}
MerkleTree* hashTree = new MerkleTree(leaves);
std::cout << hashTree->root->hash << std::endl;
hashTree->printTree(hashTree->root, 0);
for (unsigned int k = 0; k < leaves.size(); k++) {
delete leaves[k];
}
delete hashTree;
break;
}
}
else {
std::cout << "Error variable not be corrected";
break;
}
}
}
Выбивает 4 ошибки, а именно:
Серьезность
Ошибка LNK2019 ссылка на неразрешенный внешний символ "public: __thiscall Node::Node(class std::basic_string<char,struct std::char_traits,class std::allocator >)" (??0Node@@QAE@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) в функции _MercleTree.
Серьезность
Ошибка LNK2019 ссылка на неразрешенный внешний символ "public: __thiscall MerkleTree::MerkleTree(class std::vector<struct Node *,class std::allocator<struct Node *> >)" (??0MerkleTree@@QAE@V?$vector@PAUNode@@V?$allocator@PAUNode@@@std@@@std@@@Z) в функции _MercleTree. DllLibraryForMercleTree
Серьезность
Ошибка LNK2019 ссылка на неразрешенный внешний символ "public: __thiscall MerkleTree::~MerkleTree(void)" (??1MerkleTree@@QAE@XZ) в функции "public: void * __thiscall MerkleTree::`scalar deleting destructor'(unsigned int)" (??_GMerkleTree@@QAEPAXI@Z).
Серьезность Ошибка LNK2019 ссылка на неразрешенный внешний символ "public: void __thiscall MerkleTree::printTree(struct Node *,int)" (?printTree@MerkleTree@@QAEXPAUNode@@H@Z) в функции _MercleTree.