私はすでに構築されている共有ライブラリで作業しています。
実行すると、cmake -C $ILCSOFT/ILCSoft.cmake
ある時点で出力が表示されます。
-- Check for FastJet (3.1.2)
-- Check for FastJet_LIBRARIES: fastjet
-- Check for FastJet_FASTJET_LIBRARY: /cvmfs/foo...bar/FastJet/3.1.2/lib/libfastjet.so -- ok
...
CMAKE_PREFIX_PATH =
-- /cvmfs/foo...bar/v01-17-09/FastJet/3.1.2;
make install
ただし、ccファイルを実行すると失敗します#include "fastjet/ClusterSequence.hh"
。
これは cmake が正しく設定されていないことを意味します。今、私は以下を実行してfastjet依存関係を追加したいと思いますCMakeLists.txt
。
FIND_PACKAGE( FastJet )
LINK_LIBRARIES( FastJet_LIBRARY )
エラーは発生しませんが、必要なものを取得できません。
cmake、make、cppのインポートを理解していないようです。誰でも私を助けることができますか?
このように大きなライブラリを私のcmakeにどのようにインポートできますか?
答え1
インクルードステップで問題が発生した場合は、コンパイルされたライブラリの実際の場所ではなく、問題のあるインクルードディレクトリを見つけます。 ~からcmake ドキュメント、ライブラリヘッダーがある場所を追加してみてください。
ディレクトリを含める
ビルドにインクルードディレクトリを追加します。
include_directories([以降|以前] [システム] dir1 [dir2 ...])
インクルードファイルを取得するためにコンパイラが使用するディレクトリに指定されたディレクトリを追加します。相対パスは、現在のソースディレクトリに基づいて解釈されます。