Есть ли способ указать все библиотеки GDCM в CMakeList одновременно?

Это может быть очень простой вопрос, но я не могу найти ответ.

Я только что установил библиотеку GDCM на свою рабочую станцию ​​Windows 7 и скомпилировал ее с помощью CMake, а затем создал сгенерированное решение с использованием VS2012 Express. Однако я не уверен, какие библиотеки GDCM включить в CMakeLists, и мне было интересно, существует ли более простой способ указать все библиотеки одновременно (например, VTK_LIBRARIES для VTK). Я попытался GDCM_LIBRARIES, и это не возвращает значение, как и GDCM. В частности, я ищу заменить:

TARGET_LINK_LIBRARIES (TestvtkGDCMImageReader vtkgdcm gdcmMSFF gdcmDSED gdcm2vtk)

с чем-то более общим.

1 ответ

Решение

Как правило, GDCM_LIBRARIES будет определяться файлом использования, который вы включаете после нахождения пакета GDCM в CMake; однако, это в настоящее время не установлено. Вы можете просто сделать это самостоятельно, установив переменную со всеми именами библиотеки GDCM.

Например, глядя на библиотеки, включенные в бинарный дистрибутив Windows 2.4.0, я мог сделать это в своем CMakeLists.txt:

set( GDCM_LIBRARIES
    gdcmDICT gdcmDSED gdcmIOD gdcmMEXD gdcmMSFF gdcmcharls gdcmexpat gdcmgetopt
    gdcmjpeg12 gdcmjpeg16 gdcmjpeg8 gdcmopenjpeg gdcmzlib
# since you built the vtk component, you might also include them here
    vtkgdcm gdcm2vtk
)

# then you can replace your line with this
target_link_libraries( TestvtkGDCMImageReader ${GDCM_LIBRARIES} )

Проверьте, где установлены созданные вами библиотеки GDCM, и убедитесь, что у вас есть все библиотеки.

Другие вопросы по тегам