cygwin (OpenEXR) で特定のライブラリをビルドしようとしていますが、次のエラーが発生します。
b44ExpLogTable.cpp:52:18: error: half.h: No such file or directory
half.h
を使用して参照されて#include <half.h>
おり、実際には以前に正常に実行した別のライブラリの一部ですmake/make install
。
問題は - with を使用#include
する<>
場合、プリプロセッサが指定されたファイルをどこで見つけると予想するかです。
(私はそれを で見つけたばかりですが/usr/local/include/OpenEXR
、プリプロセッサができない理由がわかりません)。
更新:私も見つけました:
メイクファイル
ILMBASE_CXXFLAGS = -I/usr/local/include/OpenEXR
Makefile.am
INCLUDES = @ILMBASE_CXXFLAGS@ \
-I$(top_builddir) \
-I$(top_srcdir)/config
これにより、問題が何であるかについての私の理解が実際に減少しました。
更新 2:したがって、makefile でいくつかの変数を再定義することで、 make の代わりに が$(CXXCOMPILE)
実行されているように見えること$(CXX) $(CXXFLAGS)
がCXXFLAGS
わかりました-g -O2
。OK、$(CXX) $(CXXFLAGS)
この組み合わせが実行されていない以外のメイクファイルのどこにも使用されていない場合、どのように実行されるのかわかり$(CXXCOMPILE)
ません。に追加できますが、さらに多くの追加-I
がCXXFLAGS
必要になると感じているので、問題の根本原因を見つけたいと思います。
(C++/Linux の開発者スキルがほとんどないため、それがスーパー ユーザーなのかスタック オーバーフローなのかはわかりません。)