を使用して作成された Cmake 実行可能ファイルがありますADD_EXECUTABLE
。実行可能ファイルには、プロジェクトの一部として作成された共有ライブラリ (へのリンク) が必要です。
最後のステップとして、ビルド プロセスの一部としてこの実行可能ファイルを実行し、ビルド用の追加ファイルをいくつか作成します。
それで
ADD_EXECUTABLE(foo)
ADD_CUSTOM_COMMAND(OUTPUT out1
WORKING_DIRECTORY dir1
COMMAND foo args
...)
ただし、カスタムコマンドを実行するとエラーが発生します
.../foo: error while loading shared libraries: libbar.so.1: cannot open shared object file: No such file or directory
make[2]: *** [out1] Error 127
make: *** [all] Error 2
問題はLD_LIBRARY_PATH
、実行可能ファイルがライブラリをロードするように設定されていないことです
libbar.so.1
。cmake でロード ライブラリの設定をクロスプラットフォームの方法で設定するにはどうすればよいですか。RPATH は実際には実行可能ファイルに埋め込まれているため、使用したくありません。これは望ましくありません。