2014-01-09 2 views
2

Это может быть очень простой вопрос, но я не могу найти ответ.Есть ли способ указать все библиотеки GDCM в CMakeList сразу?

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

TARGET_LINK_LIBRARIES (TestvtkGDCMImageReader vtkgdcm gdcmMSFF gdcmDSED gdcm2vtk)

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

ответ

2

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

Например, глядя на библиотеки, включенные в 2.4.0 Windows, бинарного дистрибутива, я мог бы сделать это в моем 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 DLLS вы построили установлены, чтобы увидеть, что вы получаете все библиотеки.

Смежные вопросы