如何用多类创建MFC扩展dll



我想创建一个MFC扩展dll,我的问题是我想在客户端中使用的类包含了在我的项目中实现的一些头文件,现在如何在客户端使用它?

例如,要从我的dll导出的头文件类如下

#include "classme1.h"
#include "classme2.h"
class AFX_EXT_CLASS dllclass
{
...
//anthor function
};

当我在客户端中包含这个头文件时,客户端项目出现错误,需要两个文件"classme1.h"one_answers"classme2.h"。我该怎么解决我的问题?

将头文件复制到一个公共位置,这样两个项目都可以读取它们。

您可以在#include语句中定义路径,也可以更改C++预处理器的项目设置,以搜索不同附加目录中的文件。

项目设置->C/C++->常规->其他包含目录。

对于复杂的项目,我经常使用物业管理器。您可以定义特定设置并将其添加到当前项目中。它只是一个允许您轻松自定义项目的文件。

请记住,您还需要对LIB文件的引用。它必须在链接器部分中指定。或者也必须添加到项目中。(请参阅上面的提示)。

xMRi建议的替代方案是重构扩展DLL,以消除客户端包含私有头文件的需要。

阅读PIMPL Idiom(指向IMPLementation的指针),例如这里:;PIMPL";成语要用吗?

最新更新