0

EGL を使用する単純なプログラムを作成しようとしていますが、bcm_host.h をインクルードすると、gcc はそれが存在しないと言うので、makefile に /opt/vc/include を追加すると、別のヘッダーが欠落していると表示されます。別のディレクトリを追加すると、6 つのフォルダーが作成された後、もうやりたくありませんが、gcc はさらに多くのフォルダーを必要としています。/opt/vc/src/hello_pi/Makefile.include ファイルを調べたところ、3 つのフォルダーしか追加されていません。質問は次のとおりです。私は何を間違っていますか?

メイクファイルは次のとおりです。

LIB_DIR = -L/opt/vc/lib
INCLUDE_DIRS = -I/opt/vc/include -I/opt/vc/include/interface/vcos/ -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmc_host/linux -I/opt/vc/include/interface/vmcs_host -I/opt/vc/include/interface/vchi -I/usr/include/SDL -I-

LIBS = -lSDL

bin:
    gcc $(LIB_DIRS) $(INCLUDE_DIRS) $(LIBS)  main.c
4

1 に答える 1

0

dispmax の例のコードを使用していたプロジェクトに bcm_host.h を含めました。-lbcm_host をライブラリとして追加したことを除いて、非常によく似た makefile 設定があります。

# Include the Broadcom hardware interface library
XINCDIR += /opt/vc/include
XINCDIR += /opt/vc/include/interface/vcos/pthreads
XLIBS += -L/opt/vc/lib/ -lbcm_host

特に EGL を使おうとしていたわけではありませんが、これでうまくいきました。おそらく、代わりに、または追加で -lEGL が必要です。

于 2013-07-24T18:40:36.397 に答える