私の会社は、特定のヘッダーファイルとライブラリを標準ではない(ただし変更されていない)場所に保管しています。Autotools AM_CPPFLAGS(など)は無視されますか?
ビルドにヘッダーパスを追加しようとしています。環境変数CPPFLAGSを定義すると、ヘッダー検索パスを追加でき、ヘッダーが見つかります。しかし、configure.acやsrc/Makefile.amの中から検索パスを設定しようとしても失敗しました。 SRC/Makefile.amで
私は
AM_CPPFLAGS = -I/path/to/headers
を試してみましたが、しかし、ヘッダが見つかりません。私はconfigure.acとMakefile.amにCPPFLAGSを設定しようとしましたが、うまくいきません。私はむしろ、設定する必要はありませんと思い、私はのsrc/Makefile.amに
main_CPPFLAGS = -I/path/to/headers
を試してみた単一引用符、また運
ととせずに
AC_SUBST(CPPFLAGS, ['-I/path/to/headers'])
を試してみました環境変数。それは、ビルドシーケンス(とドキュメンテーション)への余分な指示と余分なステップを必要とするでしょう。私の欠点は何ですか?
補遺
私はARMのホスト(ないiOS版)のためのMacOS上でクロスコンパイルだことを言及することを怠っ。
src/Makefile.amのサニタイズ版です。現時点では、いくつかの可能性があります。コンパイラに-Iフラグを渡すことはありません。 CPPFLAGS環境変数をに設定すると、はコンパイラに-Iフラグを取得します。
SUBDIRS = .
bin_PROGRAMS = main
main_SOURCES = first.h second.h main.cpp
main_LDADD = -lone -ltwo
main_CPPFLAGS = -I/path/to/headers
AM_CPPFLAGS = -I/path/to/headers
INCLUDES = -I/path/to/headers
あなたの 'AM_CPPFLAGS = -I/path/to/headers'は正しいです。-Iオプションをコンパイラに渡すべきです。私が考えることのできる唯一の理由は、あなたのautomakeのバージョンが非常に古くなったとき、あるいはクロスコンパイルしたものが、私が慣れ親しんだものとは違う振る舞いをするからです(私は十字のためにオートツールを使用しませんでしたまだコンパイルしていない)。 –