gpt4 book ai didi

c++ - 将一个dll导入另一个dll C++

转载 作者:行者123 更新时间:2023-11-30 04:26:53 24 4
gpt4 key购买 nike

我在多个 dll 中有多个类,每个 dll 可能包含其他类。

我使用以下宏来为我的 dll 的所有 header 指定 __declspec 参数:

#ifdef DLL_UTIL_A
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT __declspec(dllimport)
#endif

假设 dllA 包含 dllB。问题是,当我在 dllA 中包含 dllB 的头文件时,宏 DLLEXPORT 被重新定义以从 dllB 的头文件中导入类。当预处理器返回到 dllA 继续解析时,它有一个更新的 DLLEXPORT 和一个更新的不需要的值。

我应该为每个 dll 使用不同的定义(例如,将 DLLEXPORT 替换为 DLLEXPORT_DLL_A)还是有一种干净的方法来获取 DLLEXPORT在 dllA 中返回时返回旧值?

最佳答案

您需要为两个 DLL 的 DLLEXPORT 使用不同的宏名称。

关于c++ - 将一个dll导入另一个dll C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11246617/

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