libfreenect2を使用するコードをコンパイルする方法の簡単な例を誰でも投稿できますか?libfreenect2で構築する
gcc -o test test.c $(pkg-config --libs --cflags libpng)
:私はPKG-config設定のWikipediaのページにこのような行を使用して.PCファイルをコンパイルしようとし
→ tree freenect2
freenect2
├── include
│ └── libfreenect2
│ ├── config.h
│ ├── export.h
│ ├── frame_listener.hpp
│ ├── frame_listener_impl.h
│ ├── libfreenect2.hpp
│ ├── logger.h
│ ├── packet_pipeline.h
│ └── registration.h
└── lib
├── cmake
│ └── freenect2
│ └── freenect2Config.cmake
├── libfreenect2.so -> libfreenect2.so.0.2
├── libfreenect2.so.0.2 -> libfreenect2.so.0.2.0
├── libfreenect2.so.0.2.0
└── pkgconfig
└── freenect2.pc
:ライブラリをインストールした後、次のような構造は私のホームディレクトリに作成されます
しかし、このエラーを持つまでになった:
./test: error while loading shared libraries: libfreenect2.so.0.2: cannot open shared object file: No such file or directory
はもちろん、私はどこかにコンパイルプロセスを台無しに、これはエラーがRUで発生しているので、私はどこを見れするか分かりませんコンパイル時ではなくn時間です。ライブラリのインストールで作成された.cmake
ファイルもありますが、これは確かに堅牢で適切な解決策につながりますが、その使い方が完全にはわかりませんし、簡単なガイドを見つけることができませんでしたそうするために。初心者に優しいドキュメンテーションへのリンクもありがとうございます。 libfreenect2のドキュメントでは、cmake -Dfreenect2_DIR=$HOME/freenect2/lib/cmake/freenect2
をコンパイルするときにこの行を使用すると書かれています。これはライブラリを作成するときやアプリケーションを作成するときに使用しなければならないものですか?
もう1つの接線に関連する質問は、/include
と/lib
ディレクトリをそれぞれ/usr/local/include
と/usr/local/lib
に移動する方が良いでしょうか?私はそれがシステム全体にライブラリを "インストール"すると信じていますが、libfreenect2が自動的にそれをしない何らかの理由があると思います。
いつものように、標準的な場所にないライブラリとリンクするときには、実行可能なmakeのためにRPATHを調整する必要があります。gccで何百万という例があります。 CMakeを使わないので、 '.cmake'ファイルは無関係で、' cmake'タグもありません。 – Tsyvarev