cgnstools 编译时出现“tcl.h:没有这样的文件或目录错误”

cgnstools 编译时出现“tcl.h:没有这样的文件或目录错误”

我安装了 CGNS 源代码(从 gi​​thub 下载)以将其实现到 CFL3D 中。我使用了命令(./configure、make、make install)。我已经安装了 tk-dev 和 tcl-dev 包,先前的错误是“tk.h:没有这样的文件或目录”,在 cgnstools 目录中的“make.defs”文件中指定路径(/usr/include/tk/tk.h)后解决了该问题,但现在编译器找不到 tcl.h 文件。请提出建议。

----- cgnsview -----
make[1]: Entering directory '/home/magan/CGNS-3.4.0/src/cgnstools/cgnsview'
gcc -g -O2  -I/home/magan/CGNS-3.4.0/src /usr/include/tk/tk.h -c cgiowish.c
/usr/include/tk/tk.h:19:10: fatal error: tcl.h: No such file or directory
 #include <tcl.h>
          ^~~~~~~
compilation terminated.
cgiowish.c:15:10: fatal error: tk.h: No such file or directory
 #include "tk.h"
          ^~~~~~
compilation terminated.
Makefile.unix:115: recipe for target 'cgiowish.o' failed
make[1]: *** [cgiowish.o] Error 1
make[1]: Leaving directory '/home/magan/CGNS-3.4.0/src/cgnstools/cgnsview'
Makefile:57: recipe for target 'prog-cgnsview' failed
make: *** [prog-cgnsview] Error 2

答案1

apt 家族中有一个名为 apt-file 的应用程序。使用此应用程序,您可以按文件名进行搜索,它将返回提供所搜索文件的软件包(或多个软件包)。
您可以使用 安装它apt-get install apt-file,然后执行apt-file update。之后,您可以使用 搜索文件apt-file search tcl.h。对于我(这里是 Debian 9),结果如下(列表很长,我在这里截取):

...
tcl8.5-dev: /usr/include/tcl8.5/tcl-private/generic/tcl.h
tcl8.5-dev: /usr/include/tcl8.5/tcl.h
tcl8.6-dev: /usr/include/tcl8.6/tcl-private/generic/tcl.h
tcl8.6-dev: /usr/include/tcl8.6/tcl.h
tcllib: /usr/share/doc/tcllib/html/me_tcl.html
...

在我的系统中,我将安装 tcl8.5-dev 或 tcl8.6-dev 软件包之一。此外,可能需要指示库的位置。通常通过 ./configure 脚本上的选项来完成。尝试执行./configure --help | less以查找所有可用选项。

相关内容