我在github上有自己的C项目。我想通过使用GNU getopt_long()
(它有自己的git存储库)来添加长选项支持。我相信我有四种方法可以做到这一点:
getopt_long()
,getopt.c
和getopt1.c
的{{1}}源文件。 1和2的优点是我跟踪gnugetopt.h
。 3和4的优点是,如果getopt_long()
的git存储库移动,它将不会破坏我的存储库和,这样做更容易。
是否有推荐的“GNU方式”来执行此操作?
答案 0 :(得分:2)
经过一段时间的Googl'我发现了the official GNU answer。
简而言之,有两种推荐方法:
使用gnulib-tool
命令,通过对一个getopt
和{{1}进行一些调整,导入configure.ac
将其编译为GNU库的子集。文件。
Makefile.am
来源("旧"方式)导入getopt_long
,getopt_long
和getopt.c
的{{1}}来源,并使用getopt1.c
宏来测试是否存在gnugetopt.h
在平台上,仅在必要时编译导入的源。