私はkinectを使用して土壌侵食の3Dモデルを取得し、植生をスキャンしています。kinect用にこのアプリケーションをコンパイルしようとしています: http://www.ccs.neu.edu/research/gpc/ imucam/index.html 、ただしmakeを実行すると、次のエラーが表示されます。
linking record_frames from record_frames.o fps.o frame.o grabber.o interactor.o os.o pick_player.o player.o reader.o recorder.o source.o um6.o viewer.o writer.o
/usr/bin/ld: cannot find -lboost_serialization-mt
/usr/bin/ld: cannot find -lboost_system-mt
/usr/bin/ld: cannot find -lboost_filesystem-mt
/usr/bin/ld: cannot find -lboost_thread-mt
/usr/bin/ld: cannot find -lboost_date_time-mt
/usr/bin/ld: cannot find -lboost_iostreams-mt
/usr/bin/ld: cannot find -lboost_regex-mt
/usr/bin/ld: cannot find -lboost_mpi-mt
collect2: error: ld returned 1 exit status
make: *** [record_frames.bin] Error 1
私はメイクファイルを読んで見つけました:
DEF_BOOST_LIBS := -lboost_serialization-mt -lboost_system-mt \
-lboost_filesystem-mt -lboost_thread-mt \
-lboost_date_time-mt -lboost_iostreams-mt \
-lboost_regex-mt -lboost_mpi-mt
したがって、私の質問は、makefileでlibbost.soライブラリを呼び出す方法です。 libboost 1.55があります。 .soのmtを変更しようとしましたが、同じエラーが表示されます。
/usr/bin/ld: cannot find -libboost_serialization.so
この心配を解決するための助けは素晴らしいことです、事前にホセ・ソト
Libboostライブラリの名前が変更され、「-mt」が削除されました。おそらく、メイクファイルを編集して名前の-mtを削除するか、 http://forum.freecadweb.org/viewtopic。 php?t = 4541 メイクファイルを再構築します。
Kinectには64ビットが必要で、ブートライブラリは32ビットディレクトリにあります。 64ビットマシンを使用していますか?使用している場合、64ビットブーストパッケージをインストールできますか?
ターミナルで、実行します
uname -a
oSが32ビットか64ビットかを確認します(X86_64は64ビットを示します)。 OSの32ビットバージョンをインストールした可能性があります。
64ビットバージョンであるかどうか、個々のパッケージを確認します。
dpkg -l |fgrep boost
例えばパッケージ名の「:AMD64」。
ii libboost-filesystem-dev:AMD64 1.54.0.1ubuntu1 ...
「AMD64」の代わりに「:i386」を取得した場合、それは32ビットバージョンです。明示的にインストールしない限り、どのようにそれが起こるのかわかりません(インストール時のパッケージ名に ":i386"を含みます。必要な64ビットのブーストパッケージをインストールするには、次のようにします。
Sudo apt-get install libboost-filesystem-dev
または単にlibboost-filesystem-dev:AMD64を使用して64ビットパッケージを強制します。 i386バージョンのアンインストールについて心配する必要はありません。それらは異なるディレクトリですが、それらを削除する場合は、パッケージ名に ":i386"を使用して64ビットバージョンで選択します。
14.04システムで、最新のkinectパッケージ(imucam-R186M_2014-05-29を含む)をダウンロードし、欠落していたブーストライブラリを追加し、メイクファイルを編集して「-mt」を削除し、すべてが1つのopenni警告で正常にコンパイルされました。