如何在 visual studio 2019 中将包含 .c 和 .h 文件的现有项目转换为动态 link 库?

How can I convert an existing project with .c and .h files into a dynamic link library in visual studio 2019?

我正在使用简单的 Open EtherCAT Master (SOEM) https://github.com/OpenEtherCATsociety/SOEM。我想使用 SOEM 中的现有文件创建一个 .dll 动态 link 库来构建其他项目。我已经尝试在 visual studio 中创建一个 DLL,并简单地将所有 .c 和 .h 文件从 SOEM 上传到 DLL。当我这样做时,一些头文件无法识别。特别是 OSAL 和 OSHW 头文件。我不确定这是头文件之间的一般问题还是特定于 SOEM 文件的问题。我认为一旦将所有.c 和.h 文件放在同一个项目中,它们就可以相互包含。

制作 DLL:

  1. 将所有.c和.h文件放入dll工程
  2. 在解决方案属性 > 配置属性 > c/c++ > 附加包含目录中将目录设置为所有文件
  3. 为 wpcap 和其他库添加额外的依赖项(Ws2_32.lib、wpcap.lib、winmm.lib) 解决方案属性 > 配置属性 > 链接器 > 输入 > 附加依赖项
  4. 在解决方案属性 > 配置属性 > 链接器 > 常规 > 附加库目录中为 wpcap 库设置目录
  5. 第 4 步后构建成功