我下载了GDCM2.4.1的源代码,并使用CMake 2.8.12.1和Visual Studio2010来构建这些库。我想在我的C++项目中使用GDCM。不幸的是,似乎在使用VS构建GDCM解决方案之后,bin文件夹中只有lib- files,而没有我通常期望的包含头文件的典型"include“文件夹。因此,我不能在我自己的项目中集成GDCM库(我试图在我自己的CMakeproject中使用FindPackage(GDCM),但是找不到头文件)。
我不想手动复制头文件,也不想以GDCM的源目录为目标。有人知道救命吗?
发布于 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。有什么想法吗?
迈克尔
发布于 2014-01-16 20:12:46
对于任何曾经接触过相同问题的人来说,这是最终的解决方案。在GDCM解决方案中构建"ALL_BUILD“,然后通过以下方式将GDCM库集成到您的CMakeLists.txt中:
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)https://stackoverflow.com/questions/21116319
复制相似问题