gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 03:26:49 25 4
gpt4 key购买 nike

我正在使用 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",它本质上是头文件及其实现文件的集合。这可能吗?我怎样才能做到这一点?谢谢。

编辑:

具体来说,我要做的是将Class1放在Class1.h中,将Class2放在Class2.h中 并将它们都包含在一个名为 MyLibrary.h 的主头文件中,这样客户端只需执行 #include "MyLibrary.h"

最佳答案

如果您有多个头文件,如 A.h、B.h 等,并且想为客户端提供包含所有头文件的 Project.h,则只需将所有头文件包含在 Project.h 中 - 如下所示:

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

关于c++ - 如何在 C++ 中将多个头文件导出为单个头文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47985779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com