这可能是一个非常基本的问题,但我无法找到答案。
我刚刚在我的Windows 7工作站上安装了GDCM库,并使用CMake进行了编译,然后使用VS2012 Express构建了生成的解决方案。 但是,我不确定要在CMakeLists中包含哪些GDCM库,我想知道是否有更简单的方法可以同时指定所有库。(如VTK的VTK_LIBRARIES)。我尝试了GDCM_LIBRARIES并且没有返回值,GDCM也没有。 具体来说,我希望替换:
TARGET_LINK_LIBRARIES(TestvtkGDCMImageReader vtkgdcm gdcmMSFF gdcmDSED gdcm2vtk)
更通用的东西。
答案 0 :(得分:2)
通常,GDCM_LIBRARIES
将由您在CMake中查找GDCM包后包含的use文件定义;但是,它目前尚未确定。您可以通过设置包含所有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 dll的安装位置,以确保您获得了所有库。