0
bamtoolsパッケージから例えばBamReader.hのヘッダファイルの一つはAC_CHECK_HEADERは失敗し、それにAPI
/usr/local/include/bamtools/api
にインストールされた私はどちらかとザ・フラグを含む設定しようとした:
configure:3837: g++ -c -g -O2 -I/usr/local/include/bamtools conftest.cpp >&5
conftest.cpp:54:23: fatal error: BamReader.h: No such file or directory
compilation terminated.
secon:私はconfig.logのファイルをチェックすると
CXXFLAGS="$CXXFLAGS -I/usr/local/include/bamtools"
or
CXXFLAGS="$CXXFLAGS -I/usr/local/include/bamtools/api"
AC_CHECK_HEADERS([BamReader.h], [bamtools_found=yes], [AC_MSG_ERROR([Unable to find bambools header])])
、最初のものは私にエラーを与えました
configure:3837: g++ -c -g -O2 -I/usr/local/include/bamtools/api conftest.cpp >&5
In file included from conftest.cpp:54:0:
/usr/local/include/bamtools/api/BamReader.h:13:28: fatal error: api/api_global.h: No such file or directory
#include "api/api_global.h"^M
^
compilation terminated.
configure:3837: $? = 1
問題は、私はそれが働いたAC_CHECK_HEADERSにAPIを置くことによって、簡単な修正を得たBamReader.hは、API/api_global.h
標準のヘッダーや他のライブラリからのヘッダーとの名前の競合を避けるため、ライブラリではサブディレクトリではなくベースパスのみを含める必要があります。 –
ライブラリのヘッダーのディレクトリ名に「api」という語を使用するのは悪いことです。ヘッダーは理想的には ''と呼ばれるべきです。 –
Rolandさんのコメントに同意します。 APIはそのような一般的な用語です、それは役に立たないです。 –