Tcl.h:没有这个文件或目录

8

我正在从Solaris系统转移到Linux(具体来说是Redhat),需要移植一些代码。代码在Solaris上编译和运行时没有问题。

然而,在重新编译时,我遇到了一个tcl.h的问题——编译器告诉我有多个文件出现了error: tcl.h: No such file or directory的错误,这些文件都包含了#include "tcl.h"

据我所知tcl8.4和tk8.4都已经安装在系统中:

  • /usr/lib/tcl8.4
  • /usr/share/tcl8.4
  • /usr/lib/tk8.4
  • /usr/share/tk8.4

然而,我找不到tcl.h的位置。是否有人知道它在哪里?还是说这是Solaris需要但Linux不需要的文件之一?或者我需要安装除了tcl/tk 8.4之外的其他软件?

3个回答

11

为获取头文件,您需要安装开发包。根据您的 Linux 分发版,查找名称类似于tcl8.4-devtk8.4-dev的软件包。


3
你可以安装apt-file,然后执行apt-file search '*/tcl.h'命令以查看哪个软件包包含了这个文件。 - Intrepidd
1
就是这样。天哪。你以为你已经拥有了所有需要的东西,几周后你仍然缺少关键项目,哈哈。谢谢。 - redhotspike
新手 - 不要将libtclcl-dev与tcl-dev混淆。 - Sridhar Sarnobat

6

听起来你没有安装tcl的开发文件(库通常与头文件分开打包)。可以尝试执行以下命令:

$ rpm -qa | grep tcl

如果没有找到,需要找到相应的-devel包进行安装。如果已经有了,则可能位于编译器未包含的目录中。如果已经安装,可以使用rpm命令(选项是 -ql <packagename>)来查找文件。


0
sudo dnf makecache
sudo dnf install tcl-devel.x86_64
rpm -qa |grep tcl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接