LD_LIBRARY_PATHはCMake内でどのように変更できますか?

$ LD_LIBRARY_PATHにないローカル共有ライブラリがあります。
実行可能ファイルを実行したいのですが、システムフォルダーで共有ライブラリが見つからないため、「共有ライブラリのロード中にエラー」が出力されます。

これに対する可能な修正は、ローカルライブラリフォルダを含む新しいLD_LIBRARY_PATHをエクスポートすることです。

この環境変数をCMake内で自動的にエクスポートするにはどうすればよいですか?

ベストアンサー
共有ライブラリが実行可能ファイルの同じCMakeプロジェクトでビルドされていない場合、次のようにCMake rpath処理を使用できます。

set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)

make installを実行すると、CMakeは実行可能ファイルのランタイムパスを共有ライブラリに自動的に設定します。

共有ライブラリが同じCMakeプロジェクトで構築されている場合、これを使用します。

set(CMAKE_INSTALL_RPATH "/usr/local/lib")
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)

この場合、共有ライブラリをインストールするディレクトリをランタイムパスに追加する必要があります。

詳細については、CMake rpath handlingを読むことができます

転載記事の出典を記入してください: LD_LIBRARY_PATHはCMake内でどのように変更できますか? - コードログ