2016-09-30 8 views
0

私はCmakeには新しく、オプションのパッケージ(libspectre)が必要なKDEプロジェクト(okular)を構築しようとしています。私はデフォルトのmake installを行い、ライブラリファイルは "/ usr/lib/x86_64-linux-gnu"の場所にあります。Cmake外部オプションパッケージadd

find_library(LIBSPECTRE_LIBRARY NAMES libspectre PATHS "/usr/lib/x86_64-linux-gnu/") 

include(FindPackageHandleStandardArgs) 
find_package_handle_standard_args(LibSpectre DEFAULT_MSG LIBSPECTRE_LIBRARY) 

libspectreライブラリを見つけられないようだ:発電機で

は/ CMakeLists.txtは、私は次のようで、 "macro_optional_find_package(LibSpectre)" を交換してみました。私はPATHSをHINTSに置き換え、NAMESの後に 'libspectre'を 'specter'に変更しようとしました。しかし、それは認識していないようです。

ご協力いただきましてありがとうございます。

+0

ライブラリファイル(正確には/ usr/lib/x86_64-linux-gnu/'の下にあります)の正確な名前**(拡張子付き)は何ですか?与えられた 'find_library()'呼び出しが実行されていますか? ( 'message()'の後ろに 'message()'を追加してみてください)。自分でプロジェクトをビルドするときは、CMakeのキャッシュに 'LIBSPECTRE_LIBRARY'変数を設定する方が良いでしょう。そのためにスクリプトを変更する必要はありません。 – Tsyvarev

+0

こんにちは、ライブラリファイルの名前は** libspectre.so.1 **です。 _libspectre.so.1.1.7_のシンボリックリンクです。私はあなたの提案を試みます。ありがとう! – fastforward

答えて

1

CMakeはライブラリのso-versionを認識せず、precizeを確認するのは.soです。

libspectre.so - libspectre.so.1へのシンボリックリンクを作成することができます。したがって

find_library(LIBSPECTRE_LIBRARY NAMES spectre PATHS "/usr/lib/x86_64-linux-gnu/") 

が動作します。

関連する問題