- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我最终遇到了与 Getting started with gnulib on MinGW and not familiar (enough) with autotools 相同的问题- 也就是说,想要在 MinGW Windows 项目中包含像 netinet/in.h
这样的 header ;这就是我第一次听说 gnulib
的地方。
正如上面的帖子所述,gnulib
的主要目的是用正确的文件“修补”现有的 autoconf
项目;然而,我正在处理一个我不太了解其构建系统的项目 - 所以一开始,我想到的只是复制 header 。
现在,我不太确定,但在我看来,gnulib
会根据其运行的系统生成这些 header - 这就是为什么不包含 netinet/in.h
逐字,它实际上包含:
gnulib_git$ find . -name '*.h' | grep netinet
./lib/netinet_in.in.h
确实,这个文件有类似@PRAGMA_SYSTEM_HEADER@
的东西,我只能假设是一些宏。
所以,我发现有一个命令--create-testdir
,于是我试了一下:
rm -rf /tmp/AA # erase previous, else it won't run
./gnulib-tool --create-testdir --dir=/tmp/AA getsockname getsockopt setsockopt socket socketlib sockets socklen sys_socket arpa_inet inet_ntop inet_pton netinet_in
cd /tmp/AA
./configure
make
我已经在 Linux 上试过了,它运行良好,但是:
$ find /tmp/AA -name '*.h' | grep netinet
/tmp/AA/gllib/netinet_in.in.h
...我仍然没有得到任何标题(而且里面仍然有宏)?结果我无法在我的 MinGW-w64 上尝试这个,因为那里没有 aclocal
程序...
那么谁能解释一下是否可以使用 --create-testdir
生成完整的 header ,或者在这个过程中如何/何时可以期望获得实际的 header (以及它是否是主机操作系统依赖)?
最佳答案
当 gnulib 发现系统的同名包含文件功能齐全时,它不会创建自己的 netinet/in.h
文件 - 幸运的是,在 glibc 系统上就是这种情况。
但是在其他平台上,比如 mingw,可能会有一个由 gnulib 创建的 netinet/in.h
文件,它会引用系统的同名包含文件。是的,@PRAGMA_SYSTEM_HEADER@
是使这成为可能的宏观的一部分。
您不需要在目标系统(此处:mingw)上安装 Autotools。 GNU 构建系统的想法是您在装有 Autotools 的机器上创建 configure
、Makefile.in
和 config.h
文件。然后您可以将生成的包传输到目标机器。在目标机器上,根据 GNU standards ,您只需要基本的 shell 实用程序(例如 coreutils、sed、gawk)。
关于linux - 可以使用 gnulib 工具获取 netinet/in.h 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37520407/
gnulib 中的强度和特征有什么区别? glib和 glibc 谢谢! 最佳答案 glibc是一个核心 C 运行时库。它提供了 printf(3) 之类的东西和 fopen(3) . glib是用
我正在尝试交叉编译这个 project给 MinGW。 该项目使用 autotools 作为构建系统,并依赖于 libcurl , CUnit , Jansson和一些 gnulib 模块。 我为 x
我的平台(MinGW)没有定义宏ETIMEDOUT,在others中.在另一个问题中有人建议可以使用 GnuLib 修复此问题。 我想这样做,但似乎任何希望使用 GnuLib 的项目也必须使用 Aut
我最终遇到了与 Getting started with gnulib on MinGW and not familiar (enough) with autotools 相同的问题- 也就是说,想要
我有一些为 Linux 编写的 C 代码,依赖于套接字和 arpa/inet.h 以及 libusb.h,我想在 MinGW 下为 Windows 编译它。 (请注意,当前项目只有一个非常简单的 Ma
我对开发者和用户点的这些术语有点困惑。例如,我在 Ubuntu 上。 GNU libs( https://www.gnu.org/software/libc/ ) 默认安装,gnulib( https
我正在我的 Ubuntu 16.04 上使用适用于 QorIQ T1042 PowerPC 处理器的 Yocto SDK 构建 Linux 镜像。 我的问题是,当我尝试使用“bitbake fsl-i
我是一名优秀的程序员,十分优秀!