提问人:xcdemon05 提问时间:3/13/2013 最后编辑:xcdemon05 更新时间:3/13/2013 访问量:301
链接器找不到函数定义,LNK2001未解析的外部符号
Linker can't find function definitions, LNK2001 unresolved external symbol
问:
这是我的简单设置:(我隐藏了很多不需要的信息)
//AutoFocusTest.h
#include "camAVTEx.h"
class CAutoFocusTestApp : public CWinApp
{
protected:
camera_t* mCamera;
public:
virtual BOOL InitInstance();
};
//camAVTEx.h
class camera_avtcam_ex_t : public camera_t
{
public:
camera_avtcam_ex_t();
virtual ~camera_avtcam_ex_t();
//member variables
//member function declarations
}
//camAVTEx.cpp
#include "camAVTEx.h"
camera_avtcam_ex_t::camera_avtcam_ex_t()
{
//stuff
}
camera_avtcam_ex_t::~camera_avtcam_ex_t()
{
//stuff
}
//the rest are defined here in my program
//AutoFocusTest.cpp
#include AutoFocusTest.h
BOOL CAutoFocusTestApp::InitInstance()
{
mCamera = new camera_avtcam_ex_t();
}
此设置会产生错误:
3>AutoFocusTest.obj:错误LNK2001:未解析的外部符号 “公共:__cdecl camera_avtcam_ex_t::camera_avtcam_ex_t(无效)” (??0camera_avtcam_ex_t@@QEAA@XZ)
从我读到的关于这个相对常见的问题的所有内容来看,我没有链接导致找不到我的camera_avtcam_ex_t函数定义的内容。但是,我无法弄清楚我可能错过了什么。我已经添加了所有包含目录和库目录,并将库文件添加到其他依赖项部分。
谁能发现我可能遗漏的任何东西?
答:
1赞
SomeWittyUsername
3/13/2013
#1
假设你已经为 定义了构造函数,它被声明为 ,你不能实例化它。camera_avtcam_ex_t
private
评论
0赞
xcdemon05
3/13/2013
不,它是公开的,我只是在输入问题时忘记指定。
评论
////class function definitions
实际上并没有定义函数,你知道的,对吧?camera_avtcam_ex_t