1

Matrix Vision が販売する USB カメラ (mvBlueFOX) 用のサンプル アプリケーションをコンパイルしようとしています。彼らは、アプリケーションのソース コード、make ファイル、およびコンパイル済みの共有ライブラリ セットを提供してくれます。ただし、make ファイルは実行可能ファイルを正常にビルドできません。「make」は次を返します。

carter@carter-Lenovo-G780:~/mvimpact_acquire-x86-1.12.22.254/apps/LiveSnap$ make
make[1]: Entering directory `/home/carter/mvimpact_acquire-x86-1.12.22.254/apps/LiveSnap/x86'
/usr/bin/g++     -O2 -Wall -W -fPIC -D_REENTRANT -D_GNU_SOURCE -D_MAJOR_VERSION=1 -D_MINOR_VERSION=12 -D_BUILD_VERSION=22 -D_BUILD2_VERSION=254  -DMALLOC_TRACE -DNDEBUG      -I../../..   -o LiveSnap LiveSnap.o     -L../../../lib/x86 -lmvDeviceManager -lmvPropHandling    -lm -lpthread   -ldl 
../../../lib/x86/libmvPropHandling.so: undefined reference to `dlsym'
../../../lib/x86/libmvPropHandling.so: undefined reference to `dlopen'
../../../lib/x86/libmvPropHandling.so: undefined reference to `dlclose'
collect2: ld returned 1 exit status
make[1]: *** [LiveSnap] Error 1
make[1]: Leaving directory `/home/carter/mvimpact_acquire-x86-1.12.22.254/apps/LiveSnap/x86'
make: *** [all] Error 2

リンク コマンドの簡略版:

g++ -o LiveSnap x86/LiveSnap.o -lmvDeviceManager -ldl

それでも戻ります:

../../../lib/x86/libmvPropHandling.so: undefined reference to `dlsym'
../../../lib/x86/libmvPropHandling.so: undefined reference to `dlopen'
../../../lib/x86/libmvPropHandling.so: undefined reference to `dlclose'

libdl.so が見つかりましたが、プロセスはまだ失敗しています。これは私のバージョンの libdl の問題ですか、それとも別の問題ですか?

4

2 に答える 2

0

この問題の回避策に関心のある方のために、私は Movie-Matrix Web サイトからダウンロードした新しいバージョンのコードを正常にビルドして実行することができました。私のカメラの CD で提供されたバージョンは 1.2.22 でしたが、ウェブサイトのバージョンは 2.5.2 でした。古いバージョンがビルドに失敗する理由はまだ不明ですが、新しいバージョンのソフトウェアでは問題が解決されているようです。

于 2013-06-20T15:26:33.190 に答える