2016-10-16 8 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

Включается выход моей команды макияжа (который, помните, включает в себя -echo варианта для h4cc), сам Makefile, мои два C-файлов, файл заголовок, и содержание моих включить каталог. Я действительно ненавижу бросать все это на людей и просить решения, но я потратил много времени, пытаясь понять это, и я был бы очень признателен, если бы кто-нибудь мог указать на все, что они видят. Благодаря!

ответ

0

Вы пробовали допинг -I на пути к файлу в своем файле? Это необходимо при импорте каталогов. Хотя могут быть и другие проблемы.

Так вторые и третьи строки в вашем 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 документации.