制造can';找不到sys/signal.h
我正试图在MINGW中安装制造can';找不到sys/signal.h,c,makefile,mingw,configure,m4,C,Makefile,Mingw,Configure,M4,我正试图在MINGW中安装m4 在/configure正常结束后,我尝试了make,但出现了错误 make[1]: Entering directory `/c/src/autotools/build_m4/src' gcc -c -DHAVE_CONFIG_H -I.. -I../../m4-1.4/src -I../../m4-1.4/src/../lib -g -O ../../m4-1.4/src/m4.c ../../m4-1.4/src/m4.c:22:24: fatal erro
m4
在/configure
正常结束后,我尝试了make
,但出现了错误
make[1]: Entering directory `/c/src/autotools/build_m4/src'
gcc -c -DHAVE_CONFIG_H -I.. -I../../m4-1.4/src -I../../m4-1.4/src/../lib -g -O
../../m4-1.4/src/m4.c
../../m4-1.4/src/m4.c:22:24: fatal error: sys/signal.h: No such file or director
y
#include <sys/signal.h>
^
compilation terminated.
make[1]: *** [m4.o] Error 1
make[1]: Leaving directory `/c/src/autotools/build_m4/src'
make: *** [all] Error 1
make[1]:进入目录“/c/src/autotools/build\u m4/src”
gcc-c-DHAVE_配置_H-I-I.././m4-1.4/src-I.././m4-1.4/src/./lib-g-O
../../m4-1.4/src/m4.c
../../m4-1.4/src/m4.c:22:24:致命错误:sys/signal.h:没有这样的文件或控制器
Y
#包括
^
编译终止。
生成[1]:***[m4.o]错误1
make[1]:离开目录“/c/src/autotools/build\u m4/src”
make:**[all]错误1
signal.h
位于路径环境中设置的\c\mingw\include
中
如何判断
make
信号.h在哪里?将注释转换为答案:
在大多数Unix系统上,文件
/usr/include/signal.h
包含\include
。似乎m4
假设将有一个
——假设没有自动确认它是否存在。这可能是m4的(配置过程)中的错误,也可能是您的设置有问题
你以前能编译其他GNU程序吗?是否有目录/c/mingw/include/sys
(或\c\mingw\include\sys
)?如果没有,您可以通过在\c\mingw\include
(如果缺少)中创建sys
子目录并将signal.h
复制到其中来开始。但这是一个可能的bug的黑客解决方法
如果这是有效的-就像它看起来-检查您的MinGW安装是否正确和最新。如果是,请向的维护人员报告问题(电子邮件bug-m4
atgnu.org
),但请查看网站以了解如何执行此操作的说明
考虑删除复制的信号.h
,因为它原来不在那里。OTOH,将来您可能还会需要它-但就个人而言,如果安装正常处于原始状态,并且只有在绝对必要时才进行黑客攻击,我会感到更高兴。在大多数Unix系统上,文件/usr/include/signal.h
包含\include
。似乎m4
假设将有一个
——假设没有自动确认它是否存在。这可能是m4
中的错误,也可能是您的设置有问题。你以前能编译程序吗?是否有目录/c/mingw/include/sys
(或等效反斜杠)?如果没有,您可以创建sys
子目录(如果缺少)并将signal.h
复制到其中。但是这是一个可能的bug的黑客解决方法。make
不关心这个包含文件。它是编译器。将适当的密码传递给GCC。@JonathanLeffler mingw not\any\path\with\backslahes不是Linux。是的,@harper,我知道mingw是Windows的最小GNU。我相信,它的目的是提供一个环境,让源于Unix的程序可以在其中编译和运行。它并不是Unix或Linux的完全复制品,但我相信,它的目的是使从Unix或Linux到Windows的代码移植相对容易,如果它是自动配置的话。要构建m4
,需要使用自动配置的configure
shell脚本。它应该检测MinGW并做出适当的响应。或者,改用Cygwin;正如@Jonathan Leffler所说,我将signal.h
复制到sys
,然后make
正常运行并完成。