将getopt_long()与我自己的代码捆绑在一起?

保罗·卢卡斯

我在github上有自己的C项目。我想通过使用GNU getopt_long()(具有它自己的git存储库)添加长选项支持我相信有4种方法可以做到这一点:

  1. 使用git子模块
  2. 使用git子树
  3. 将当前(2.22.6)快照的源导入到我自己的git存储库中。
  4. 导入唯一getopt_long()源文件getopt.cgetopt1.cgnugetopt.h

1和2的优点是我跟踪getopt_long()3和4的优点是,如果git仓库的getopt_long()moves不会破坏我的仓库,并且它的操作要简单得多。

有推荐的“ GNU方式”来做到这一点吗?

保罗·卢卡斯

经过更多的Googl'ing之后,我找到了GNU的官方答案

简要地说,有两种建议的方法:

使用Gnulib(“新”方式)

使用该gnulib-tool命令,getopt通过对一个configure.ac一个Makefile.am文件进行一些调整,可以导入将其编译为GNU库的子集

使用getopt_long来源(“旧”方式)

导入,和getopt_longgetopt.c并使用宏测试平台上是否存在,并仅在必要时编译导入的源。getopt1.cgnugetopt.hadl_func_getopt_long.m4getopt_long

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

JPA:自己的注释将具有相同值的字段的注释捆绑在一起

我可以将Visual Studio 2015 C ++可再发行的DLL与我的应用程序捆绑在一起吗?

我需要设置哪个 iOS 目标以避免将 Swift 运行时库与我的 iOS 应用程序捆绑在一起?

如何将Realm数据库文件与我的应用程序捆绑在一起以进行安装部署

将 webpack 与 dotnet run 捆绑在一起

如何通过Gulp将npm Halfmoon的JS与现有代码捆绑在一起?

如何在swift4.2中将领域文件与我的应用程序捆绑在一起?

我应该将javascript框架与应用程序捆绑在一起还是使用公共CDN?

我可以将Microsoft支持诊断工具(.diagcab)文件与软件捆绑在一起吗?

最好从CDN导入资产或将其与自定义代码捆绑在一起?

与Webpack捆绑在一起的VS Code中的调试Node JS代码

与PyInstaller捆绑在一起的代码无法导入本地安装的vtk模块:ModuleNotFoundError

是JCE策略与OpenJDK的8捆绑在一起?

Python,PyTables,Java-捆绑在一起

为什么我的 barbajs 转换在与包裹捆绑在一起时停止工作?

如何将C ++中的运算符捆绑在一起

将JS文件与webpack脚本捆绑在一起?

将Cython模块与Python软件包捆绑在一起

将C ++扩展标头与Python包源分发捆绑在一起

如何将Java与Windows应用程序捆绑在一起?

将多个图像捆绑在一起以进行HTTP?

将Perl脚本及其依赖项捆绑在一起吗?

将TypeScript与外部JS文件捆绑在一起(例如,node_modules)

如何将库与webpack捆绑在一起?

如何将JRE与Launch4j捆绑在一起?

将单个jar文件中的不同Java类捆绑在一起

如何将JOGL与NetBeans平台捆绑在一起?

将videojs与videojs-ima插件捆绑在一起

如何将Zeromq与电子应用程序捆绑在一起?