我想创建一个MFC扩展dll,我的问题是我想在客户端使用的类包含一些在我的项目中实现的头文件,现在如何在客户端中使用它?
例如,想要从我的dll导出的头文件类如下所示
#include "classme1.h"
#include "classme2.h"
class AFX_EXT_CLASS dllclass
{
...
//anthor function
};
当我在客户端中包含此头文件时,客户端项目有错误,需要两个文件" classme1.h"和" classme2.h"。 我该怎么做才能解决我的问题?
答案 0 :(得分:0)
将头文件复制到一个公共位置,两个项目都可以读取它们。
您可以在#include语句中定义路径,也可以更改C ++预处理器的项目设置,以搜索不同附加目录中的文件。
项目设置 - > C / C ++ - >一般 - >附加包含目录。
对于复杂项目,我经常使用物业经理。您可以定义特定设置并将其添加到当前项目中。它只是一个允许您轻松自定义项目的文件。
请记住,您还需要对LIB文件的引用。它必须在链接器部分中指定。或者也必须添加到项目中。 (见上文提示)。
答案 1 :(得分:0)
替代xMRi的建议是重构您的扩展DLL,以消除客户端包含您的私有头文件的需要。
阅读PIMPL Idiom(指向IMPLementation的指针),例如:Why should the "PIMPL" idiom be used?