尝试编译HDF4程序时包含文件出错

时间:2016-10-16 03:31:29

标签: c makefile compiler-errors include-path hdf

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

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

我创建了一个github来显示文件。

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

包含我的make命令的输出(记住,包括h4cc的-echo选项),Makefile本身,我的两个C文件,头文件以及我的include目录的内容。我真的很讨厌将这一切都放在人们面前并寻求解决方案,但我花了很多时间试图解决这个问题,如果有人能指出他们看到的任何内容,我会非常感激。谢谢!

1 个答案:

答案 0 :(得分:0)

您是否尝试将-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