2016-12-09 11 views
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

答えて

0

を含めるしようとしている:Dは私に次のエラーが発生しました。

CXXFLAGS="$CXXFLAGS -I/usr/local/include/bamtools" 
AC_CHECK_HEADERS([api/BamReader.h], [bamtools_found=yes], [AC_MSG_ERROR([Unable to find bambools header])]) 

configure output 
checking api/BamReader.h usability... yes 

本質的に、すべてのヘッダーにapi /を追加してライブラリを使用する必要があります。コメントしてください:これは良い練習ですか?

+1

標準のヘッダーや他のライブラリからのヘッダーとの名前の競合を避けるため、ライブラリではサブディレクトリではなくベースパスのみを含める必要があります。 –

+1

ライブラリのヘッダーのディレクトリ名に「api」という語を使用するのは悪いことです。ヘッダーは理想的には ''と呼ばれるべきです。 –

+0

Rolandさんのコメントに同意します。 APIはそのような一般的な用語です、それは役に立たないです。 –

関連する問題