c++ - 关于从 C 和 C++ 创建 DLL 的问题
问题描述
我一直在尝试通过 Visual Studio 2019 创建一个 DLL。大多数文件是 .cpp 及其头文件(.cpp 和 .h),但有一个是 .c 文件(及其头文件)。
当我从 .c 文件中包含“pch.h”时,出现以下错误:
错误 C1853 预编译的头文件来自不同版本的编译器,或者预编译的头文件是 C++,而您正在从 C 中使用它(反之亦然)
在我所做的尝试中,但不幸的是,它们都没有奏效:
将后缀从 .c 替换为 .cpp,并尝试相反(所有 .cpp 到 .c)
#include "stdafx.h" 而不是 #include "pch.h"
我还创建了另一个 DLL(来自 MSDN 站点的示例)来查看它应该如何,并且从它的外观来看 - 唯一的问题是由 .c 文件引起的。
我正在寻找解决问题的好方法的网站:
- 尝试从 Visual Studio 2017 中的 c 和 cpp 文件创建 dll 文件(堆栈溢出)
- 从 C# 调用 C DLL(堆栈溢出)
- 来自 C++ 源的 C-DLL(堆栈溢出)
- 演练:创建和使用您自己的动态链接库 (C++) (MSDN)
- 可以从 C# 调用 C++ 代码吗?(堆栈溢出)
- C++ 后端与 C# 前端?(堆栈溢出)
- 用 C/C++ 编译一个 DLL,然后从另一个程序调用它(堆栈溢出)
还有更多网站......
我这样做是为了在我的 C/C++ 代码和我的 GUI(C#、WindowsForms)之间建立联系。因此,如果您可能有更好的通用解决方案而不是创建 dll,或者有任何有关解决此问题的建议,那么阅读将非常棒!
我的问题可能看起来与其他问题相似,但我找不到我的答案。如有英文错误请见谅。如果有什么问题,我会改正的。
非常感谢您。
解决方案
推荐阅读
- javascript - 模态图像 - 使用目录图像 - W3 Schools Modal Image mod
- lambda - 如何在 kotlin 中序列化 lambda
- c++ - 隐式模板实例化编译时差
- javascript - 使用 javascript 或其他语言实现 Android 主屏幕小部件
- javascript - 用 0 替换前三个字符
- sql-server - SQL Server:无法添加约束
- wordpress - 在 woocommerce 付款中启用付款选项后未显示付款选项。
- azure-storage - 通过 azure powershell (arm) 创建 vm 的快照
- html - Angular 6 - 错误类型错误:无法读取未定义的属性“firstName”,同时显示输出
- python - OpenCv 链接器错误:找不到符号:___itt_api_version_ptr__3_0