Ошибка LNK2019 при вызове функции - PullRequest
0 голосов
/ 24 апреля 2018

Пытаясь устранить ошибку LNK2019, я сделал небольшой код, чтобы повторить эту ошибку за пределами моего проекта. Ошибка не появляется в том же месте, но шов будет похожим. Я использую Visual Studio 2013 и не пытался использовать другую IDE.

моя программа:

main.cpp:

#include "functions.hpp"

int main(int argc, char *argv[]){

    core::function1();

return 0;
}

functions.hpp:

#ifndef _functions_hpp
#define _functions_hpp
#include "core.hpp"

namespace core{
    void function1();
}

#endif

core.hpp:

#ifndef _core_hpp
#define _core_hpp
#include <string>
namespace core{
    //some defines 
}
#endif _core_hpp

functions.cpp:

#include "functions.hpp"
#include "Input_Output.hpp"

namespace core{
    void functions(){
        type_writer writer;
        writer.save();
    }
}

Input_Output.hpp:

#ifndef _INPUT_OUTPUT_HPP
#define _INPUT_OUTPUT_HPP

namespace core{
    class type_writer{
    public:
        void save();
    };
}
#endif

Input_Output.cpp:

#include "Input_Output.hpp"

namespace core{
    void type_writer::save(){

    }
}

ошибка журнала:

Командная строка компиляции:

C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin \ CL.exe / c / ZI / nologo / W3 / WX- / Od / Oy- / D WIN32 / D _DEBUG / D _CONSOLE / D _LIB / D _UNICODE / D UNICODE / Гм / EHsc / RTC1 / MDd / GS / fp: точный / Zc: wchar_t / Zc: forScope / Fo "Отладка \" /Fd"Debug\vc120.pdb "/ Gd / TP / analysis- / errorReport: подскажите main.cpp

Ссылка:

C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ bin \ CL.exe / c / ZI / nologo / W3 / WX- / Od / Oy- / D WIN32 / D _DEBUG / D _CONSOLE / D _LIB / D _UNICODE / D UNICODE / Гм / EHsc / RTC1 / MDd / GS / fp: точный / Zc: wchar_t / Zc: forScope / Fo "Отладка \" /Fd"Debug\vc120.pdb "/ Gd / TP / analysis- / errorReport: подскажите main.cpp

ошибка:

1> main.obj: ошибка LNK2019: неразрешенный внешний символ «void __cdecl core :: function1 (void)» (? Function1 @ core @@ YAXXZ), на который есть ссылка в функции _main

1> E: \ Nicolas \ frame_external_error \ Debug \ frame_external_error.exe: фатальная ошибка LNK1120: 1 неразрешенная внешняя сторона

В моем первоначальном проекте эта ошибка произошла от другого внешнего символа (от автора type_writer;), но я думаю, что если я пойму, какова причина ошибки в этом примере, я должен найти способ ее исправить в своем собственном проекте.

Спасибо за чтение!

...