2016-10-16 21 views
0

HDF4ライブラリを使用するプログラムをコンパイルしようとしています。/usr/local /にあるコンピュータにHDF4をインストールしました。必要なスクリプト、インクルードファイル、ライブラリがすべてインストールされ、すべての環境変数が正しく設定されていることを確認しました。私は2つのCファイルをオブジェクトファイルにコンパイルし、それらをリンクするMakefileを作成しました。最初のCファイル "readHDFfuncs.c"をコンパイルすると、コンパイラは呼び出されているすべてのHDF4関数が宣言されていないことを通知します。私のh4ccコンパイラが適切なディレクトリを正しく含んでいるので、これは起こってはいけません。HDF4プログラムをコンパイルしようとするとインクルードファイルでエラーが発生する

私はh4ccコマンドを-echoに設定し、コンパイルの実行をトレースしました。何らかの理由で関数の宣言が終わっていないものの、すべて正しいと思われます。 h4ccはgccラッパーで、主な機能はインクルードパスを処理することです。

ファイルを表示するgithubを作成しました。付属

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

は私のmakeコマンドの出力である(h4ccため-echoオプションが含まれている、覚えて、)、Makefileの自体、私の2つのCファイル、ヘッダファイル、および私の内容は、ディレクトリ。私はこのことを人々に落として解決することを嫌っていますが、これを理解しようと多くの時間を費やしています。誰かが見ていることを指摘できると大変感謝しています。ありがとう!

答えて

0

メイクファイルのファイルパスの前に-Iを試しましたか?これは、ディレクトリをインポートするときに必要です。他にも問題があるかもしれませんが。

だからあなたのメイクファイルで2行目と3行目になるでしょう:

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を参照してください。

関連する問題