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

Error LNK2001: неразрешенный внешний символ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
ge0r
2 / 2 / 1
Регистрация: 07.12.2012
Сообщений: 9
16.03.2014, 21:11     Error LNK2001: неразрешенный внешний символ #1
Приветствую.

Пытался вшить кое-что в программу, в итоге получаю множество ошибок линковки.

Вывод:
Кликните здесь для просмотра всего текста

Ошибка 7 error LNK1120: неразрешенных внешних элементов: 5 C:\Users\351\Desktop\IVM\Build\Release\IVNetworkDedicatedServer.exe DedicatedServer
Ошибка 5 error LNK2001: неразрешенный внешний символ ""public: __thiscall CModule::~CModule(void)" (??1CModule@@QAE@XZ)" C:\Users\351\Desktop\IVM\Server\CModuleManager.obj DedicatedServer
Ошибка 6 error LNK2001: неразрешенный внешний символ ""public: __thiscall CModule::CModule(char const *)" (??0CModule@@QAE@PBD@Z)" C:\Users\351\Desktop\IVM\Server\CModuleManager.obj DedicatedServer
Ошибка 2 error LNK2001: неразрешенный внешний символ ""public: void __thiscall CModule::Pulse(void)" (?Pulse@CModule@@QAEXXZ)" C:\Users\351\Desktop\IVM\Server\CModuleManager.obj DedicatedServer
Ошибка 4 error LNK2001: неразрешенный внешний символ ""public: void __thiscall CModule::ScriptLoad(struct SQVM *)" (?ScriptLoad@CModule@@QAEXPAUSQVM@@@Z)" C:\Users\351\Desktop\IVM\Server\CModuleManager.obj DedicatedServer
Ошибка 3 error LNK2001: неразрешенный внешний символ ""public: void __thiscall CModule::ScriptUnload(struct SQVM *)" (?ScriptUnload@CModule@@QAEXPAUSQVM@@@Z)" C:\Users\351\Desktop\IVM\Server\CModuleManager.obj DedicatedServer
Предупреждение 1 warning D9025: переопределение "/sdl-" на "/GS-" C:\Users\351\Desktop\IVM\Server\cl DedicatedServer



header:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once
 
#include <list>
#include "CModule.h"
#include "Interfaces/InterfaceCommon.h"
 
class CModuleManager : public CModuleManagerInterface
{
public:
    CModuleManager();
    ~CModuleManager();
 
    CModule * LoadModule(const char * szName);
    void ScriptLoad(HSQUIRRELVM pVM);
    void ScriptUnload(HSQUIRRELVM pVM);
    void Pulse();
 
private:
    std::list<CModule *> m_lstModules;
};
Исходник:
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include "CModuleManager.h"
 
#include <Scripting/CEvents.h>
#include <CServer.h>
#include <CSettings.h>
#include <CLogFile.h>
#include <Common.h>
#include <SharedUtility.h>
 
CModuleManager::CModuleManager()
{
 
}
 
CModuleManager::~CModuleManager()
{
    for(std::list<CModule *>::iterator i = m_lstModules.begin(); i != m_lstModules.end(); ++i)
    {
        if(*i)
        {
            delete *i;
        }
    }
}
 
CModule * CModuleManager::LoadModule(const char * szName)
{
    CModule *pModule = new CModule(szName);
 
    if(!pModule->IsValid())
    {
        delete pModule;
        return NULL;
    }
 
    m_lstModules.push_back(pModule);
 
    return pModule;
}
 
void CModuleManager::ScriptLoad(HSQUIRRELVM pVM)
{
    for(std::list<CModule *>::iterator i = m_lstModules.begin(); i != m_lstModules.end(); ++i)
    {
        if(*i)
            (*i)->ScriptLoad(pVM);
    }
}
 
void CModuleManager::ScriptUnload(HSQUIRRELVM pVM)
{
    for(std::list<CModule *>::iterator i = m_lstModules.begin(); i != m_lstModules.end(); ++i)
    {
        if(*i)
            (*i)->ScriptUnload(pVM);
    }
}
 
void CModuleManager::Pulse()
{
    for(std::list<CModule *>::iterator i = m_lstModules.begin(); i != m_lstModules.end(); ++i)
    {
        if(*i)
            (*i)->Pulse();
    }
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2014, 21:11     Error LNK2001: неразрешенный внешний символ
Посмотрите здесь:

C++ error LNK2001: неразрешенный внешний символ
C++ error LNK2001: неразрешенный внешний символ "_WinMain@16"
C++ error LNK2001: неразрешенный внешний символ
классы и методы,error LNK2001: неразрешенный внешний символ C++
C++ Error LNK2001: неразрешенный внешний символ "_mainCRTStartup"
ошибка: LNK2001: неразрешенный внешний символ C++
C++ error LNK2001: неразрешенный внешний символ
Не могу убрать ошибку: "error LNK2001: неразрешенный внешний символ" C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.03.2014, 21:21     Error LNK2001: неразрешенный внешний символ #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от ge0r Посмотреть сообщение
Вывод:
Компоновщик не видит реализаций. Каких - написано (класса CModule).
Yandex
Объявления
16.03.2014, 21:21     Error LNK2001: неразрешенный внешний символ
Ответ Создать тему
Опции темы

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