У меня есть два файла, которые вызывают у меня много горя: camAVTEx.h
и camAVTEx.cpp
. Вот общая настройка для двух файлов:Неразрешенный внешний символ, не могу понять, почему
//.h////////////////////////////////////////////////
/*
#includes to some other files
*/
class camera_avtcam_ex_t : public camera_t
{
public:
camera_avtcam_ex_t();
virtual ~camera_avtcam_ex_t();
private:
//some members
public:
//some methods
};
void GlobalShutdownVimbaSystem();
//.cpp/////////////////////////////////////////////
#include "StdAfx.h"
#include "camAVTEx.h"
//some other #includes
camera_avtcam_ex_t::camera_avtcam_ex_t()
{
}
//rest of the class' functions
void GlobalShutdownVimbaSystem()
{
//implememtation
}
Затем в файл в другой каталог, я делаю #include для точного местоположения .h файл и попытаться использовать класс:
//otherfile.cpp
#include "..\..\src\HardSupport\Camera.h"
//this is the base camera class (camera_t)
#include "..\..\src\HardControl\camAVTEx.h"
//this is indeed where both the .h and .cpp files are located
void InitCam
{
camera_t* maincam = new camera_avtcam_ex_t();
}
void OnExit()
{
GlobalShutdownVimbaSystem();
}
Когда я компилирую, я получаю следующие ошибки:
8> otherfile.obj: LNK2001 ошибки: неразрешенный внешний символ "общественности: __cdecl camera_avtcam_ex_t :: camera_avtcam_ex_t (ничтожной)" (?? 0camera_avtcam_ex_t @@ QEAA @XZ)
8> otherfile.obj: ошибка LNK2001: неразрешенный внешний символ "недействительным __cdecl GlobalShutdownVimbaSystem (аннулируются)" (GlobalShutdownVimbaSystem @@ YAXXZ)
8> .... \ Bin \ x64 \? Release \ otherfile.exe: фатальная ошибка LNK1120: 2 нерешенных внешних
Я не могу на всю жизнь понять, почему он не может найти реализации этих двух функций.
Так что, я думаю, мой вопрос довольно очевиден: почему я получаю эти ошибки и что мне нужно изменить, чтобы исправить их?
вы уверены, что файл имеет доступ к инклюдникам в вашей программе? Возможно, ваш файл не может найти те, которые включают/ –
, довольно очевидно, но уверены ли вы, что 'camAVTEx.cpp' скомпилирован и связан по файлу' otherfile.cpp'? Какова ваша система сборки? – Offirmo
@ Need4Sleep Я не вижу, как он не мог получить доступ – xcdemon05