ソースからgtestをコンパイルしようとしています(既存のインストール済みバージョンを使用する代わりに)。私はcatkinベースのcmakeプロジェクトに取り組んでいます。gtestをcatkinでソースコンパイル
ソースコードをhttps://github.com/google/googletestから私のワークスペースに追加し、add_subdirectoryを含むフォルダを追加しました。私は、これは問題になりませんことを理解しgoogletest指示自体(https://github.com/google/googletest/tree/master/googletest#incorporating-into-an-existing-cmake-project)の他の記事から
CMake Error at src/test_env/GTest/googletest/cmake/internal_utils.cmake:151 (add_library):
add_library cannot create target "gtest" because another target with the
same name already exists. The existing target is a shared library created
in source directory "/usr/src/gtest". See documentation for policy CMP0002
for more details.
、および:
はしかし、私は既存のGTESTでnameclashを取得します。
私はcatkinがgtestをどのように処理するかに問題があると考えます。そして、確かに、通常、私はインストールされたバージョンを使用することができます。しかし、誰もが同じ(バンドルされた)バージョンのgtestを使用していることを確認したい。
すべての提案とヒントが歓迎されます。
'catkinがgtestをどのように処理するかに問題があると思います。 - Catkinには' add_subdirectory'を使って同じようにgtestが含まれています。しかし、同じプロジェクトは通常**同じソースツリーから2回**含まれることはできません。そういうわけで、あなたはそのエラーを受けます。 [その質問](http://stackoverflow.com/questions/42085151/cmake-conflict-with-multiple-gtest)と同様です。 – Tsyvarev