私は、別々のプロジェクトからpylon5 C++ライブラリを成功裏に呼び出すことを試みました。Raspberry PiのBasler GigEカメラpylon5 C++ライブラリの使用方法
私はしばらくの間答えを探していましたが、私が間違っていることを理解できません。
環境変数やライブラリパスの設定に問題があると思いますか? (私はLinuxベースのもので初心者ですが、ネット上でチュートリアルを読むときには分かりやすいものを混乱させてしまいます)。
私は、カメラ自体が動作していることをテストしました私のラズベリーと私はサンプルコードを使ってイメージをつかむことができます。
カメラの設定(露出時間など)を変更して写真を撮ってSDカードに保存することもできます。したがって、カメラモジュールは問題ではありません。私の問題は、正しい方法で共有ライブラリを使用する可能性が高くなります。
さらに、いくつかのシンプルな共有ライブラリを作って、そこから私のパイロンカメラコードを使用できることを願っています。私のライブラリにPylonコードを含めない場合、それはうまく動作し、私が望む値を返します。私はそこにパイロンのヘッダーを追加することさえできますし、それはまだうまくコンパイルされます。次に、もう一度別の(この場合はC#)コードからlibを呼び出して、期待どおりの戻り値を得ることができますが、(ライブラリ内の)Pylonコードを呼び出そうとすると、dllNotFoundExceptionが発生します。
私はで私のpylon5コードを配置しているの/ opt/pylon5
私のプロジェクトファイル(私はQtCreatorを使用しています)されて、私はbaslerweb.comここhttp://s.baslerweb.com/media/documents/How%20to%20build%20pylon%20applications%20on%20Raspberry%20Pi.pdf
からもらったマニュアルにadvicedとして
#-------------------------------------------------
QT -= gui
QT += core
TARGET = baslercamera
TEMPLATE = lib
DEFINES += BASLERCAMERA_LIBRARY
SOURCES += baslercamera.cpp \
Grab.cpp \
Image.cpp \
main.cpp \
BaslerDLL.cpp
HEADERS += baslercamera.h\
baslercamera_global.h \
Image.h \
Grab.h
unix {
target.path = /usr/lib
INSTALLS += target
}
#INCLUDEPATH += $$PWD/../pylon5/include
#DEPENDPATH += $$PWD/../pylon5/include
INCLUDEPATH += /opt/pylon5/include
DEPENDPATH += /opt/pylon5/include
INCLUDEPATH += /home/pi/baslercamera/
DEPENDPATH += /home/pi/baslercamera/
LIBS += "/opt/pylon5/lib" \
-lpylonc
ご覧のとおり、INCLUDEPATHとLIBS変数は私の弱点です。私はそこにどのライブラリを含めるべきか、それらを正しく含める方法を理解できません。プロジェクトファイルにそれらを含めることに加えていくつかの環境変数を設定すべきですか?
私もいくつかのライブラリパスを設定しようとしましたが、実際に何をすべきかわかりません。ユーザーマニュアルには
Set the pylon environment variables:
# source ./pylon4/bin/pylon-setup-env.sh pylon4
と言いました。これに続いて、pylon4をpylon5に置き換えました。私は、これがパイロンライブラリーを使うための環境変数を設定するだろうと考えました。しかし、私は本当にそこで何が起こるかは分かりません。パイロン5ガイドは言う:私は、私は自分のライブラリにこれらの共有ライブラリを使用する続行する任意のヘルプやアドバイスのために幸せになるように多くの方法でそれを試してみました
Environment Variables
=====================
From pylon 5.0 upwards, no additional environment variables are required to
run pylon-based applications.
For development, though, the compiler must know where pylon is installed.
The pylon samples use the environment variable PYLON_ROOT to find the relevant information.
For your convenience, we created the pylon-setup-env.sh script located in the
pylon5/bin directory which can carry out the complete setup.
To setup the environment for a pylon installation in <path> execute:
source <path>/bin/pylon-setup-env.sh <path>
If you want the environment for the standard installation to be persistent, you
can add
source /path/to/your/pylon5/bin/pylon-setup-env.sh /path/to/your/pylon5
to ~/.bashrc
For special use cases, you can do a manual environment setup as follows:
export PYLON_ROOT=/path/to/your/pylon5
Even though there is currently only one variable needed, using pylon-setup-env.sh
is still the preferred way to set up your environment, as we might add more variables
in the future.
。