私は本当に何もしない、非常に単純なCMakeLists.txt
CMakeの「ターゲット・プラットフォームが動的リンクをサポートしていません」
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
FIND_PACKAGE(VTK REQUIRED)
PROJECT(test CXX)
を持っています。パッケージVTKは正しく/usr/lib/vtk-5.8/VTKConfig.cmake
の下にあります。このファイルには、共有ライブラリlibfoobar.so
は実行ファイルにリンクする必要があることを示すために、タイプ
ADD_LIBRARY(foobar SHARED IMPORTED)
の文の数を含んでいます。
上記のスクリプトを使用してメイクファイルを作成すると、しかし、CMakeのは
CMake Warning (dev) at /usr/lib/vtk-5.8/VTKTargets.cmake:244 (ADD_LIBRARY):
ADD_LIBRARY called with SHARED option but the target platform does not
support dynamic linking. Building a STATIC library instead. This may lead
to problems.
Call Stack (most recent call first):
/usr/lib/vtk-5.8/VTKConfig.cmake:200 (INCLUDE)
/usr/share/cmake-2.8/Modules/FindVTK.cmake:73 (FIND_PACKAGE)
CMakeLists.txt:4 (FIND_PACKAGE)
This warning is for project developers. Use -Wno-dev to suppress it
は、この警告は何を意味しないことに文句を言うだろうし、それはどのように扱われますか?
これは、CMake 2.8.9を使用したLinuxシステムです。 ADD_LIBRARY(foobar SHARED IMPORTED)
を含むすべてのパッケージでこのエラーメッセージが表示されますが、ここでは例としてVTK-5.8が使用されています。
確かに。何らかの理由で、このLinuxマシンで 'TARGET_SUPPORTS_SHARED_LIBS'が設定されていません。明示的に 'SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)'を設定すると警告が消えます。 –