首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过CMake使用GDCM

通过CMake使用GDCM
EN

Stack Overflow用户
提问于 2014-01-14 22:41:58
回答 2查看 3.9K关注 0票数 3

我下载了GDCM2.4.1的源代码,并使用CMake 2.8.12.1和Visual Studio2010来构建这些库。我想在我的C++项目中使用GDCM。不幸的是,似乎在使用VS构建GDCM解决方案之后,bin文件夹中只有lib- files,而没有我通常期望的包含头文件的典型"include“文件夹。因此,我不能在我自己的项目中集成GDCM库(我试图在我自己的CMakeproject中使用FindPackage(GDCM),但是找不到头文件)。

我不想手动复制头文件,也不想以GDCM的源目录为目标。有人知道救命吗?

EN

回答 2

Stack Overflow用户

发布于 2014-01-15 20:41:48

我发现这个问题与VTK有关,我也在我的项目中使用了this库。所以需要在GDCM的CMake中开启"GDCM_USE_VTK“。当我尝试在GDCM解决方案中构建"INSTALL“子项目时,该选项会导致编译器错误:

文件( cmake_install.cmake:31 )处出现CMake错误:文件安装找不到"D:/Libs/VTK_5.6.0/BIN/bin/vtkCommon.dll“。

我查看了一下VTK目录,发现上面提到的路径不存在。相反,dll位于以下位置:

D:\Libs\VTK_5.6.0\BIN\bin\Release\vtkCommon.dll或D:\Libs\VTK_5.6.0\BIN\bin\Debug\vtkCommon.dll

这意味着GDCM解决方案不知道dll位于特殊的调试或发布文件夹中。如果我禁用"GDCM_USE_VTK“,一切正常,所有的文件都会被复制到目标文件夹中。但我确实需要VTK dll。有什么想法吗?

迈克尔

票数 2
EN

Stack Overflow用户

发布于 2014-01-16 20:12:46

对于任何曾经接触过相同问题的人来说,这是最终的解决方案。在GDCM解决方案中构建"ALL_BUILD“,然后通过以下方式将GDCM库集成到您的CMakeLists.txt中:

代码语言:javascript
复制
FIND_PACKAGE(GDCM REQUIRED)
    IF(GDCM_FOUND)
        INCLUDE(${GDCM_USE_FILE})
        SET(GDCM_LIBRARIES 
            gdcmcharls
            gdcmCommon
            gdcmDICT
            gdcmDSED
            gdcmexpat
            gdcmgetopt
            gdcmIOD
            gdcmjpeg12
            gdcmjpeg16
            gdcmjpeg8
            gdcmMEXD
            gdcmMSFF
            gdcmopenjpeg
            gdcmzlib
            socketxx
            vtkgdcm
            Rpcrt4)
    ELSE(GDCM_FOUND)
        MESSAGE(FATAL_ERROR "Cannot find GDCM, did you set GDCM_DIR?")
    ENDIF(GDCM_FOUND)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21116319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档