0
Linux Ubuntuでダイナミックライブラリ(.so)をテストするためのサンプルプロジェクトを作成しました。実行ファイルはターミナルから実行されますが、アプリケーション内で失敗します
プログラムは正しくコンパイルされ、端末から起動すると実行されます。それは期待どおりに動作します - 端末で./Main
はすべての依存関係と機能を見つけます。
QT内から起動する(/ファイル名を指定して実行を構築する)私はエラーを取得:Cannot open a_dependent_library.so: cannot open shared object file: No such file or directory
私の環境変数a_dependent_library.so
が
を置かれているディレクトリが含まれていLD_LIBRARY_PATH
を教えてください。
QtCreatorが起動された環境で '$ LD_LIBRARY_PATH'が設定されていますか? また、Project-> Kit/Runで設定することもできます。 –
Qtプロジェクトを作成中です。すでにcmakeファイルがあります。 cmakeにLD_LIBRARY_PATHを設定する方法はありますか? (私はそのディレクトリが既にLD_LIBRARY_PATHにあるので、a_dependent_library.so自体を選ぶべきだと思っていた) – haroon
私はcmakeファイルでこれを試した: link_directory(../lib)(これは絶対パスで動作する。そして、target_link_librariesの-la_dependent_libraryを使用すると、エラーは解決されますが、絶対パスのみが使用されます – haroon