2016-10-16 66 views
0

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

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

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

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

包括我make命令(其中,记住,包括h4cc的-echo选项),Makefile文件本身,我的两个C文件,头文件,和我的内容包括输出目录。我真的很讨厌把所有这些都放在人们身上,并寻求解决办法,但我花了很多时间来解决这个问题,如果有人能指出他们看到的任何东西,我将不胜感激。谢谢!

回答

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

相关问题