2

这可能是一个非常基本的问题,但我无法找到答案。

我刚刚在我的 Windows 7 工作站上安装了 GDCM 库并使用 CMake 对其进行了编译,然后使用 VS2012 Express 构建了生成的解决方案。但是,我不确定要在 CMakeLists 中包含哪些 GDCM 库,并且我想知道是否有更简单的方法可以一次指定所有库。(例如 VTK 的 VTK_LIBRARIES)。我尝试了 GDCM_LIBRARIES 并且没有返回值,GDCM 也没有。具体来说,我正在寻找替换:

TARGET_LINK_LIBRARIES(TestvtkGDCMImageReader vtkgdcm gdcmMSFF gdcmDSED gdcm2vtk)

更一般的东西。

4

1 回答 1

2

通常,GDCM_LIBRARIES将由您在 CMake 中找到 GDCM 包后包含的使用文件定义;但是,它目前尚未设置。您可以通过设置一个包含所有 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 的安装位置,看看您是否获得了所有库。

于 2014-01-09T17:47:21.353 回答