2

pkg-configファイル()でCおよびC ++のインクルードパスを指定することは可能mylib.pc.inですか?

コンパイラフラグCflagsを渡すことができるフィールドがあることは知っていますが、これは一般的であり、インクルードパスが含まれているが、インクルードパスがない限り、すべてのオプションを配置することで解決します。autoconfX_CFLAGSX_CXXFLAGS

したがって、CファイルとC ++ファイルの両方を含むプロジェクトがあり、次のように指定する場合Makefile.am

mybin_CPPFLAGS = $(X_CPPFLAGS)
mybin_CFLAGS     = $(X_CFLAGS)
mybin_CXXFLAGS = $(X_CXXFLAGS)

私のC++ファイルはインクルードパスを見ることができません!次の例では、mylib.pc.inが含まれていますCflags: -I/my/iclude/path/

Cファイルをコンパイルする出力:

libtool: compile:  ppc-linux-gcc -DHAVE_CONFIG_H -I. -I./include -I/opt/ELDK/ppc_8xx/usr/include/ -I/my/iclude/path/ -Wall -std=gnu99 -MT libAW3C_IDU_la-aw3c_utility.lo -MD -MP -MF .deps/libAW3C_IDU_la-aw3c_utility.Tpo -c src/aw3c_utility.c  -fPIC -DPIC -o .libs/libAW3C_IDU_la-aw3c_utility.o

C ++ファイルをコンパイルする出力(欠落していることに注意して-I/my/iclude/path/ください):

libtool: compile:  ppc-linux-g++ -DHAVE_CONFIG_H -I. -I./include -I/opt/ELDK/ppc_8xx/usr/include/ -Wall -MT libAW3C_IDU_la-aw3c_stream.lo -MD -MP -MF .deps/libAW3C_IDU_la-aw3c_stream.Tpo -c src/aw3c_stream.cpp  -fPIC -DPIC -o .libs/libAW3C_IDU_la-aw3c_stream.o

どんな助けでもありがたいです。ありがとう!

4

1 に答える 1

3

pkg-config--cflags-only-Iのインクルードパスのみを生成するオプションがありますCflags。したがって、次のようなものを追加できます。

X_INCFLAGS=`pkg-config mylib --cflags-only-I`
X_CXXFLAGS+="$X_INCFLAGS"

configure.ac。Q:でPKG_CHECK_MODULESマクロを使用していconfigure.acますか?

于 2012-07-05T20:18:22.327 に答える