来自类实例化的LNK2019 [英] LNK2019 from class instancing

查看:126
本文介绍了来自类实例化的LNK2019的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

用于保存和传输数据Doc-> View的简单类.
同一个类在测试项目中可以正常工作,但不在需要的地方.
我想念什么?任何帮助表示赞赏.

LNK2019:函数"protected:CFracturedDoc :: CFracturedDoc(void)"中引用的未解析的外部符号"public:CSettings :: CSettings(void)"(缩写)

Simple class to hold and transfer data Doc->View.
Same class works fine in a test project but not where needed.
What am I missing? Any help appreciated.

LNK2019: unresolved external symbol "public: CSettings::CSettings(void)" referenced in function "protected: CFracturedDoc::CFracturedDoc(void)" (Abbreviated)

// Relevant CSettings.h File Code
#pragma once
#include "stdafx.h"
class CSettings
{
protected:
	double	m_nXMinimum;
	double	m_nXMaximum;
        // More simple variables
public:
	CSettings(void);
	~CSettings(void);
        // Gets and sets - No inline or virtual
};

// Relevant CSettings.cpp Code
#include "stdafx.h"
#include "CSettings.h"
CSettings::CSettings(void)
{
	this->m_nXMinimum = -2.0;
	this->m_nXMaximum = 2.0;
}
CSettings::~CSettings(void)
{
}

// Relevant CDoc.h Code
#pragma once
#include "CSettings.h"
class CFracturedDoc : public CDocument
{
protected:	// Create From Serialization Only
	CFracturedDoc();
	DECLARE_DYNCREATE(CFracturedDoc)
	CSettings* m_cSettings;  // No Grief here
public:
	CSettings* GetSettings(void);
};
// Relevant CDoc.cpp problem causing Code
#include "stdafx.h"
#include "CSettings.h"  // Error with or without include
#include "CFracturedDoc.h"
CFracturedDoc::CFracturedDoc()
{
	m_cSettings = new CSettings();  // Unresolved External Reference Grief
}

推荐答案

在Visual Studio中,您必须在解决方案中包括头文件和源(* cpp)文件.

您必须使用CSettings.h和CSettings.cpp将现有项目添加到项目/解决方案...".
in Visual Studio you must include the header and source (*cpp) files in the solution.

You must "Add existing item to project/solution..." with CSettings.h and CSettings.cpp.


这篇关于来自类实例化的LNK2019的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆