这可能是一个非常基本的问题,但我找不到答案。
我刚刚在 Windows 7 工作站上安装了 GDCM 库,并使用 CMake 对其进行了编译,然后使用 VS2012 Express 构建了生成的解决方案。 但是,我不确定 CMakeLists 中应包含哪些 GDCM 库,并且我想知道是否有一种更简单的方法可以一次指定所有库。(例如 VTK 的 VTK_LIBRARIES)。我尝试了 GDCM_LIBRARIES,但它没有返回值,GDCM 也没有。 具体来说,我希望替换:
TARGET_LINK_LIBRARIES(TestvtkGDCMImageReader vtkgdcm gdcmMSFF gdcmDSED gdcm2vtk)
有一些更一般的东西。
最佳答案
通常,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 的安装位置,以查看您是否获得了所有库。
关于visual-studio-2012 - 有没有办法一次性指定 CMakeList 中的所有 GDCM 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21015162/