如何在C ++中将多个头文件导出为单个头文件?

科瓦奇

我正在使用Visual Studio开发DLL。目前,我有一个头文件MyProject.h

#pragma once

#ifdef MYLIBRARY_EXPORTS
#define MYLIBRARY_API __declspec(dllexport)
#else
#define MYLIBRARY_API __declspec(dllimport)
#endif

#include <map>
#include <string>

extern "C" class MYLIBRARY_API Class1
{
    // some stuff here...
};

extern "C" class MYLIBRARY_API Class2
{
    // some stuff here
};

我将向项目中添加更多类,并且我想为每个类添加单独的头文件(请告知是否应该这样做)。但是,最终,我希望将所有内容打包到单个.dll和.lib中,使得客户端只需要包含一个头文件即可。也就是说,客户端项目具有#include "MyProject.h"实质上是头文件及其实现文件的集合。这可能吗,我该如何实现?谢谢。

编辑:

具体而言,我想要做的就是把Class1Class1.hClass2Class2.h,包括他们两人在一个名为主头文件MyLibrary.h,使客户端只需要做的#include "MyLibrary.h"

杰斯珀·朱尔(Jesper Juhl)

如果您有多个头文件,例如Ah,Bh等,并且只想向客户端提供包含所有头文件的Project.h,则只需在Project.h中包括所有头文件-像这样:

#ifndef MY_PROJECT_H
#define MY_PROJECT_H
#include "A.h"
#include "B.h"
#endif

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在C中链接多个头文件

单个头文件中的命名空间和类及其方法定义如何在多个头文件或cpp文件中使用呢?

用于导出以及C和C ++ API的单个头文件

如何使用在多个头文件中声明的函数

如何在另一个头文件中包含c头文件?

如何正确地为函数创建一个头文件,而没有多个定义错误?

如何检查每个头文件包括必需的包含文件?

为什么多个头文件和源文件中的 C++ 继承不起作用?

C++ 友元函数不起作用(有多个头文件和源文件)

从多个头文件的接口中声明重写的函数时,如何避免重复的代码?

为什么 C++ 标准将容器类拆分为多个头文件?

如何在 C 编程中将两个头文件和 3 个 c 文件链接到一个可执行文件中?

在qmake中进行编译之前,如何使用可执行文件构建多个头文件?

在 VS 2017 中为“便携式”项目包含一个头文件(C++)

C++ - 在另一个头文件中包含一个头文件以使全局变量可用于数组声明

C ++:如何初始化使用两个头文件的对象?

如何只列出文件夹中的n个头文件?

C编程如何在另一个头文件中打印出结构的元素?

如何在 C 中包含另一个头文件中定义的结构数组?

如何将一个类定义分成2个头文件?

如何从另一个头文件触发插槽

在C ++中使用另一个头文件中的抽象类

C++ 在两个头文件中包含一个类

C++ 对类的未定义引用(1 个头文件 2 个 cpp)

在 C 或 C++ 中,如何防止头文件中先前的 #define 影响以后包含的另一个头文件?

为什么我的文件在 C 中分叉时即使有守卫也执行两次这个头文件?

C头文件包含在另一个头文件中,并且都包含在ac文件中

如何让一个头文件中的声明访问三个单独的视图控制器?

C ++创建一个头文件来解决循环依赖是一个好主意吗?