私が抱えていた問題を回避するために、ソースから ImageMagick をビルドする必要がありました。これで、新しい共有ライブラリを使用してコードをコンパイルできるようになりましたlibMagick++-6.Q8.so
。これなら問題なくできます。
私が必要としているのは、(カスタム ビルドされた) 共有ライブラリに依存することなく、バイナリを他のマシンに簡単に移動できるようにすることですが、libMagick++-6.Q8.a
ファイルに対してコードをビルドすると、多数のundefined reference
リンカー エラーが発生します。
my の関連する行は次のMakefile
とおりです。
CXX= g++
CFLAGS= -DRENDER_TO_TEX -DUSEMAGICK -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=8 -O2 -pthread
LIBS= -L/opt/vc/lib -L/usr/lib -lbcm_host -lEGL -lGLESv2 -lstdc++
LIBS+= /usr/lib/libjsoncpp.a /usr/lib/libboost_regex.a /usr/local/lib/libMagick++-6.Q8.a
INCS= -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -I/usr/local/include/ImageMagick-6
slideshow: slideshow.cpp $(OBJS)
$(CXX) $(CFLAGS) slideshow.cpp ${INCS} ${LIBS} ${OBJS} -o $@