Nim-lang (nimrod) fatal error: limits.h: No such file or directory
Nim-lang (nimrod) fatal error: limits.h: No such file or directory
我正在学习 Nim 语言。每当我尝试使用此命令 运行 代码时:nim c --run hello.nim
,
我收到此错误:
Hint: used config file '/etc/nim/nim.cfg' [Conf]
Hint: system [Processing]
Hint: widestrs [Processing]
Hint: io [Processing]
Hint: hello [Processing]
CC: stdlib_io.nim
CC: stdlib_system.nim
CC: hello.nim
Error: execution of an external compiler program 'gcc -c -w -I/usr/lib/nim -I/home/celyes/Scripts/Nim -o /home/celyes/.cache/nim/hello_d/stdlib_io.nim.c.o /home/celyes/.cache/nim/hello_d/stdlib_io.nim.c' failed with exit code: 1
In file included from /usr/lib/gcc/x86_64-linux-gnu/9/include/syslimits.h:7,
from /usr/lib/gcc/x86_64-linux-gnu/9/include/limits.h:34,
from /usr/lib/nim/nimbase.h:257,
from /home/celyes/.cache/nim/hello_d/stdlib_io.nim.c:9:
/usr/lib/gcc/x86_64-linux-gnu/9/include/limits.h:194:15: fatal error: limits.h: No such file or directory
194 | #include_next <limits.h> /* recurse down to the real one */
| ^~~~~~~~~~
compilation terminated.
知道解决方案吗?
正如我假设的那样,您使用一个小型 Nim 程序进行了第一次测试,也许提供那几行代码并不是真正的用心。好吧,你的 Linux 发行版和你的 Nim 版本也很有趣,Nim 0.11 今天不太好用:-)
由于Nim是一种编译型语言,一般情况下最好将编译过程和程序执行过程分开,这样就可以很明显地判断是编译错误还是错误 运行时间错误。您调用 nim c --运行 hello.nim 将编译并 运行 程序。普通的 nim c hello.nim 只能编译,所以很明显这是编译错误。 (实际上,在您的情况下,编译步骤似乎很明显是问题所在,但我已经看到了不太清楚的问题...)
但是对于你的实际问题,我已经看到一些人出现这样的错误消息,原因是实际的 linux 发行版和发行版安装 C 编译器的方式不完整,我认为缺少构建要素。有关详细信息,请参阅此 Nim 论坛帖子
https://forum.nim-lang.org/t/6571
当您找到问题的真正原因并且这不是您自己的错时,您可以将其报告给您的发行版,甚至可能报告给 Nim github 问题跟踪器,这样此类问题就可以以后新人回避
当一切正常时,你是初学者,想学习 Nim,也许阅读
http://ssalewski.de/nimprogramming.html
或其他一些教程。
我正在学习 Nim 语言。每当我尝试使用此命令 运行 代码时:nim c --run hello.nim
,
我收到此错误:
Hint: used config file '/etc/nim/nim.cfg' [Conf]
Hint: system [Processing]
Hint: widestrs [Processing]
Hint: io [Processing]
Hint: hello [Processing]
CC: stdlib_io.nim
CC: stdlib_system.nim
CC: hello.nim
Error: execution of an external compiler program 'gcc -c -w -I/usr/lib/nim -I/home/celyes/Scripts/Nim -o /home/celyes/.cache/nim/hello_d/stdlib_io.nim.c.o /home/celyes/.cache/nim/hello_d/stdlib_io.nim.c' failed with exit code: 1
In file included from /usr/lib/gcc/x86_64-linux-gnu/9/include/syslimits.h:7,
from /usr/lib/gcc/x86_64-linux-gnu/9/include/limits.h:34,
from /usr/lib/nim/nimbase.h:257,
from /home/celyes/.cache/nim/hello_d/stdlib_io.nim.c:9:
/usr/lib/gcc/x86_64-linux-gnu/9/include/limits.h:194:15: fatal error: limits.h: No such file or directory
194 | #include_next <limits.h> /* recurse down to the real one */
| ^~~~~~~~~~
compilation terminated.
知道解决方案吗?
正如我假设的那样,您使用一个小型 Nim 程序进行了第一次测试,也许提供那几行代码并不是真正的用心。好吧,你的 Linux 发行版和你的 Nim 版本也很有趣,Nim 0.11 今天不太好用:-)
由于Nim是一种编译型语言,一般情况下最好将编译过程和程序执行过程分开,这样就可以很明显地判断是编译错误还是错误 运行时间错误。您调用 nim c --运行 hello.nim 将编译并 运行 程序。普通的 nim c hello.nim 只能编译,所以很明显这是编译错误。 (实际上,在您的情况下,编译步骤似乎很明显是问题所在,但我已经看到了不太清楚的问题...)
但是对于你的实际问题,我已经看到一些人出现这样的错误消息,原因是实际的 linux 发行版和发行版安装 C 编译器的方式不完整,我认为缺少构建要素。有关详细信息,请参阅此 Nim 论坛帖子
https://forum.nim-lang.org/t/6571
当您找到问题的真正原因并且这不是您自己的错时,您可以将其报告给您的发行版,甚至可能报告给 Nim github 问题跟踪器,这样此类问题就可以以后新人回避
当一切正常时,你是初学者,想学习 Nim,也许阅读
http://ssalewski.de/nimprogramming.html
或其他一些教程。