2014-01-09 113 views
2

這可能是一個非常基本的問題,但我無法找到答案。有沒有辦法一次指定CMakeList中的所有GDCM庫?

我剛剛在我的Windows 7工作站上安裝了GDCM庫,並使用CMake進行編譯,之後使用VS2012 Express構建了生成的解決方案。然而,我不確定哪些GDCM庫包含在CMakeLists中,我想知道是否有一種更簡單的方法來一次指定所有庫(如VTK的VTK_LIBRARIES)。我嘗試了GDCM_LIBRARIES,並沒有返回值,GDCM也沒有。 具體來說,我尋找替代:

TARGET_LINK_LIBRARIES(TestvtkGDCMImageReader vtkgdcm gdcmMSFF gdcmDSED gdcm2vtk)

的東西比較一般。

回答

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你建安裝地看到,你得到所有的圖書館。

相關問題