当试图编译HDF4程序时,包含文件出错



我正在尝试编译一个使用HDF4库的程序。我在/usr/local/的计算机上安装了HDF4,我已经确认所有必要的脚本,包括文件和库已经安装,并且所有环境变量都设置正确。我创建了一个Makefile,它将我的两个C文件编译成目标文件,然后将它们链接在一起。当我编译第一个C文件"readHDFfuncs.c"时,编译器告诉我所有被调用的HDF4函数都没有被声明。这应该不会发生,因为我的h4cc编译器正确地包含了正确的目录。

我将h4cc命令设置为-echo,并跟踪了编译执行。一切似乎都是正确的,但是由于某种原因,函数声明没有通过。H4cc是一个GCC包装器,它的主要功能是处理包含路径。

我已经创建了一个github来展示这些文件。

https://github.com/LandonClipp/HDFhelp/tree/master

Included是make命令的输出(记住,它包括h4cc的-echo选项)、Makefile本身、两个C文件、一个头文件和include目录的内容。我真的很讨厌把所有这些都丢给别人并要求解决方案,但我花了很多时间试图弄清楚这个问题,如果有人能指出他们看到的任何东西,我将非常感激。谢谢!

您是否尝试将-I附加到makefile中的文件路径上?这在导入目录时是必要的。不过也可能有其他问题。

因此,makefile中的第二和第三行将变成:
INCLUDE=-I/usr/local/hdf-4.2.12/hdf4/include
LIB=-I/usr/local/hdf4.2.12/hdf4/lib

参考https://www.gnu.org/software/make/manual/make.html#Flavors

相关内容

  • 没有找到相关文章

最新更新