无法在 VS 2017 应用程序中使用 MFC CObject class
Can't use MFC CObject class in VS 2017 application
我需要使用 MFC 序列化机制来序列化 objects of class Product:
class Product : public CObject
{
protected:
string name;
int expiring;
double price;
public:
Product();
~Product();
virtual void input_data();
virtual void print_data();
};
这是简单的 Windows 控制台应用程序。我在 CObject 上遇到错误:不是 class 或结构名称。
我尝试按照此评论中的说明制作 MFC 控制台应用程序:。现在我遇到了很多错误(未找到标识符或未声明标识符)。错误文本是俄语的,所以我不在这里复制它们。这是它的样子:
我对 MFC 的使用一无所知,也找不到描述清楚的指南。我的问题是:
1) 是否可以在控制台应用程序中使用 CObject (non-MFC) 以及如何使用?
2) 如果没有,我应该怎么做才能使用MFC序列化?可能包括一些 headers 或安装时缺少某些组件?
您只需通过几个步骤调整控制台应用程序即可使用 MFC。首先是包含 afx.h
,例如:
#include <iostream>
#include <afx.h>
然后你会想 link 使用 MFC 动态库。
项目属性 > 配置属性 > 高级 > 使用 MFC
Select: 在共享 DLL 中使用 MFC
现在应该使用 CObject
编译。
我的笔记,我不会用MFC序列化,至少会用Boost Serialization我早就放弃使用任何序列化了,因为经常需要维护版本控制。我发现它是个噩梦。除非您发现您的对象结构将保持相当静态,否则我建议使用 XML 来为您的对象建立数据库。开始需要做更多的工作,但通常情况下,您在进行更改时无需担心版本控制。
我需要使用 MFC 序列化机制来序列化 objects of class Product:
class Product : public CObject
{
protected:
string name;
int expiring;
double price;
public:
Product();
~Product();
virtual void input_data();
virtual void print_data();
};
这是简单的 Windows 控制台应用程序。我在 CObject 上遇到错误:不是 class 或结构名称。
我尝试按照此评论中的说明制作 MFC 控制台应用程序:
我对 MFC 的使用一无所知,也找不到描述清楚的指南。我的问题是:
1) 是否可以在控制台应用程序中使用 CObject (non-MFC) 以及如何使用?
2) 如果没有,我应该怎么做才能使用MFC序列化?可能包括一些 headers 或安装时缺少某些组件?
您只需通过几个步骤调整控制台应用程序即可使用 MFC。首先是包含 afx.h
,例如:
#include <iostream>
#include <afx.h>
然后你会想 link 使用 MFC 动态库。
项目属性 > 配置属性 > 高级 > 使用 MFC
Select: 在共享 DLL 中使用 MFC
现在应该使用 CObject
编译。
我的笔记,我不会用MFC序列化,至少会用Boost Serialization我早就放弃使用任何序列化了,因为经常需要维护版本控制。我发现它是个噩梦。除非您发现您的对象结构将保持相当静态,否则我建议使用 XML 来为您的对象建立数据库。开始需要做更多的工作,但通常情况下,您在进行更改时无需担心版本控制。