【发布时间】:2020-06-05 05:38:00
【问题描述】:
免责声明:请仔细阅读问题,这个问题有一个转折,所以请阅读到最后。
所以JSON-C 是使用C 编程在JSON 上工作的非常流行的库之一。当前工作的基本说明,此处构建的任何代码都是针对多平台的。目前支持 Linux 和 Windows 的平台,我对 Windows 相关的 JSON-C 部分有一些小问题。
我正在使用 Cygwin 进行 Windows 开发,当我按照 GitHub 页面上提供的说明编译 JSON-C 代码时,使用 CMAKE 效果非常好,并且构建系统能够为 Windows 生成 DLL。但是,如果您使用过 Cygwin,那么您必须知道使用 Cygwin 构建的任何内容都将依赖于它的运行时环境 (cygwin1.dll) (Why does GCC-Windows depend on cygwin?),并且它不会是一个可以移动的独立 DLL围绕具有相同架构的不同系统。因此,如果我的项目是在 Windows 平台上构建的,那么由于对 Cygwin 的依赖,我必须随身携带 Cygwin Run-Time Env。或者我必须确保在目标系统上安装了 Cygwin 才能顺利执行。我不希望我的项目有这种依赖,它会破坏用户体验。
所以我想在这里得到什么帮助,有没有办法独立于 Cygwin(运行时环境)构建 JSON-C?
注意:我已经知道,如果使用 Cygwin 希望为 Windows 创建这样一个独立的 DLL,那么可以使用编译器的几个参数和一些放在函数前面的附加宏来完成此处所述的声明Creating a DLL in GCC or Cygwin?
但我在 Windows 的源代码 JSON-C 中看不到这种支持。所以我只是想知道 JSON-C 开发团队是否通过构建系统保留了一些配置,那么我很想知道那部分。
PS:由于我的其他开发,我还没有涉足 JSON-C 构建系统,所以如果那里的任何人(我心爱的社区)对此有任何了解,请分享,那就是太棒了。
编辑
忘了提及我正在使用的版本:p
json-c-0.13.1-20180305
【问题讨论】:
标签: windows build-system json-c