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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
wolf13666
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 10
#1

Ошибка LNK2028, MD5 - C++

01.07.2015, 23:52. Просмотров 274. Ответов 4
Метки нет (Все метки)

Всем доброго времени суток, есть код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include "md5wrapper.h"
using namespace std;
 
int main( int argc, char** argv )
{
 
    md5wrapper md5;
    std::string hash2 = md5.getHashFromFile("data\\local\\item.bmd");
  const char *checksum = hash2.c_str();
  cout << checksum;
 
  if (checksum != "1174d056c47980f0ab248899dbe8692b")
  {
      cout << "error in file\n";
  }
    system("PAUSE");
    return 0;
}
взял отсюда:
Кликните здесь для просмотра всего текста
http://www.sql.ru/forum/663255/strannaya-oshibka-s-vychisleniem-md5-summy-fayla

При построении выдает ошибки:
Кликните здесь для просмотра всего текста
1>md5_var_2.obj : error LNK2028: ссылка на неразрешенную лексему (0A000336) "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall md5wrapper::getHashFromFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?getHashFromFile@md5wrapper@@$$FQAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V23@@Z) в функции "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>md5_var_2.obj : error LNK2028: ссылка на неразрешенную лексему (0A000337) "public: __thiscall md5wrapper::~md5wrapper(void)" (??1md5wrapper@@$$FQAE@XZ) в функции "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>md5_var_2.obj : error LNK2028: ссылка на неразрешенную лексему (0A000338) "public: __thiscall md5wrapper::md5wrapper(void)" (??0md5wrapper@@$$FQAE@XZ) в функции "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>md5_var_2.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall md5wrapper::~md5wrapper(void)" (??1md5wrapper@@$$FQAE@XZ) в функции "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>md5_var_2.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall md5wrapper::getHashFromFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?getHashFromFile@md5wrapper@@$$FQAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V23@@Z) в функции "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>md5_var_2.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall md5wrapper::md5wrapper(void)" (??0md5wrapper@@$$FQAE@XZ) в функции "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>C:\Users\fenrir\Documents\Visual Studio 2010\Projects\md5_var_2\Debug\md5_var_2.exe : fatal error LNK1120: 6 неразрешенных внешних элементов

Пробовал искать похожие темы, но не помогло, учусь в VS 2010.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2015, 23:52     Ошибка LNK2028, MD5
Посмотрите здесь:

C++ MD5
Разбираюсь с md5 C++
C++ MD5 хеширование
C++ error lnk2028 unresolved token extern c
Md5 и Sha1. C++
C++ MD5 хэширование
Реализация md5() C++
Ошибка error LNK2019 & LNK1120 и md5() C++
Error LNK2028, LNK2019, LNK1120: 2 неразрешенных внешних элементов C++
Visual c++ Ошибка 1 error LNK2028: ссылка на неразрешенную лексему (0A00004B) C++
C++ Md5
Ошибка при компиляции проекта md5 в VS 2010 C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rjxk
7 / 7 / 6
Регистрация: 18.06.2015
Сообщений: 30
02.07.2015, 02:21     Ошибка LNK2028, MD5 #2
C++
1
2
3
4
strcmp(checksum, "1174d056c47980f0ab248899dbe8692b")
{
      cout << "error in file\n";
}
wolf13666
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 10
02.07.2015, 21:19  [ТС]     Ошибка LNK2028, MD5 #3
Вставил ваш код
C++
1
2
3
4
strcmp(checksum, "1174d056c47980f0ab248899dbe8692b")
{
      cout << "error in file\n";
}
Но ошибки те же самые выдает, да и мне этот код не нужен, я оставил только:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include <iostream>
#include "md5wrapper.h"
 
using namespace std;
 
int main( int argc, char** argv )
{
 
    md5wrapper md5;
    std::string hash2 = md5.getHashFromFile("ReadMe.txt");
    const char *checksum = hash2.c_str();
    cout << checksum;
    system("PAUSE");
    return 0;
}
может в настройках проекта надо что изменить или какие нибудь либы подключить?
Kerry_Jr
Модератор
Эксперт PHP
2129 / 1925 / 669
Регистрация: 14.05.2014
Сообщений: 5,634
Записей в блоге: 1
Завершенные тесты: 5
02.07.2015, 21:23     Ошибка LNK2028, MD5 #4
wolf13666, зачем приводить к си-строке, если с++-строки можно сравнивать между собой оператором сравнения? Это раз. И два: а библиотека md5wrapper подключена?
wolf13666
0 / 0 / 0
Регистрация: 26.01.2014
Сообщений: 10
02.07.2015, 23:00  [ТС]     Ошибка LNK2028, MD5 #5
Kerry_Jr, мне надо получать MD5 файла....
Библиотеку точно забыл подключить)), но после подключения выдал эту ошибку
Кликните здесь для просмотра всего текста
md5wrapper.cpp(137): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
исправил ее, но вернулись старые ошибки
Кликните здесь для просмотра всего текста

1>md5wrapper.obj : error LNK2028: ссылка на неразрешенную лексему (0A00033C) "public: void __thiscall MD5::MD5Final(unsigned char * const,struct MD5_CTX *)" (?MD5Final@MD5@@$$FQAEXQAEPAUMD5_CTX@@@Z) в функции "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall md5wrapper::getHashFromFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?getHashFromFile@md5wrapper@@$$FQAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V23@@Z)
1>md5wrapper.obj : error LNK2028: ссылка на неразрешенную лексему (0A00033D) "public: void __thiscall MD5::MD5Update(struct MD5_CTX *,unsigned char *,unsigned int)" (?MD5Update@MD5@@$$FQAEXPAUMD5_CTX@@PAEI@Z) в функции "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall md5wrapper::getHashFromFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?getHashFromFile@md5wrapper@@$$FQAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V23@@Z)
1>md5wrapper.obj : error LNK2028: ссылка на неразрешенную лексему (0A00033E) "public: void __thiscall MD5::MD5Init(struct MD5_CTX *)" (?MD5Init@MD5@@$$FQAEXPAUMD5_CTX@@@Z) в функции "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall md5wrapper::getHashFromFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?getHashFromFile@md5wrapper@@$$FQAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V23@@Z)
1>md5wrapper.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall MD5::MD5Final(unsigned char * const,struct MD5_CTX *)" (?MD5Final@MD5@@$$FQAEXQAEPAUMD5_CTX@@@Z) в функции "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall md5wrapper::getHashFromFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?getHashFromFile@md5wrapper@@$$FQAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V23@@Z)
1>md5wrapper.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall MD5::MD5Update(struct MD5_CTX *,unsigned char *,unsigned int)" (?MD5Update@MD5@@$$FQAEXPAUMD5_CTX@@PAEI@Z) в функции "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall md5wrapper::getHashFromFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?getHashFromFile@md5wrapper@@$$FQAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V23@@Z)
1>md5wrapper.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall MD5::MD5Init(struct MD5_CTX *)" (?MD5Init@MD5@@$$FQAEXPAUMD5_CTX@@@Z) в функции "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall md5wrapper::getHashFromFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?getHashFromFile@md5wrapper@@$$FQAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V23@@Z)
1>C:\Users\fenrir\Documents\Visual Studio 2010\Projects\md5_var_2\Debug\md5_var_2.exe : fatal error LNK1120: 6 неразрешенных внешних элементов
Yandex
Объявления
02.07.2015, 23:00     Ошибка LNK2028, MD5
Ответ Создать тему
Опции темы

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