私は数回前にこれをやったことがありますが、どういうわけか今回は固まっています。私は実行可能な "myapp"と独自の共有ライブラリ "mylib"を持っています。私のcmakelistsでは、私は以下の持っている:Cmake:リンク共有ライブラリ
ADD_LIBRARY(mylib SHARED ${SOURCES_LIB})
INSTALL(TARGETS mylib DESTINATION .)
ADD_EXECUTABLE(myapp ${SOURCES_APP})
TARGET_LINK_LIBRARIES(myapp ${QT_LIBRARIES} mylib)
INSTALL(TARGETS myapp DESTINATION .)
すべてが正しくコンパイルとリンクが、私はmyappのを起動したとき、私は次のエラーを取得:
error while loading shared libraries: libmylib.so: cannot open shared object file: No such file or directory
libと実行ファイルがインストール中に存在しているがディレクトリ。私は上記のcmakelistsの最初の行を変更することによって、私のライブラリを静的にするとき:
ADD_LIBRARY(mylib STATIC ${SOURCES_LIB})
その後、すべてが100%に動作します。
誰かが間違っていることを知っていますか?
cmakeのは、あなたが設定することができます。 SET(CMAKE_INSTALL_RPATH "$ {CMAKE_INSTALL_PREFIX}/libfolder") libfolderは共有ライブラリがインストールされているディレクトリです。これはUnixシステムでのみ有効です。私はWindows用のものも見つけようとします。 – goocreations