主要步骤是:
1. git clone https://github.com/Slicer/Slicer.git
2. 安装Qt5.14.2
3. 将/usr/lib里的带Qt5字样的目录全部删除
4. 编辑Slicer/CMakelist.txt, 在第二行添加:
set(QT5_DIR "/home/lys/5.14.2/gcc_64/lib/cmake/Qt5")
set(CMAKE_PREFIX_PATH "/home/lys/Qt5.14.2/5.14.2/gcc_64")
set(Qt5_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5")
set(Qt5Widgets_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5Widgets")
set(Qt5Network_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5Network")
set(Qt5LinguistTools_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5LinguistTools")
5. cd Slicer, 运行: ./Utilities/SetupDevelopment.sh cd..
6. CMake打开Slicer,生成目录设为 build, 配置好后,到Slicer/build目录执行
7. 修改 Slicer/CMake/SlicerCheckCMakeHTTPS.cmake,将下面的语句注释掉:
message(FATAL_ERROR "error: ${error_msg}")
8. 到https://github.com/Slicer/LandmarkRegistration下载
LandmarkRegistration-master.zip,解压到Slicer/build目录下
9. 在slicer/build目录下执行
git clone https://github.com/commontk/DCMTK.git
10. 到 https://dicom.offis.de/dcmtk下载
dcmtk-3.6.6.tar.gz 解压缩到 slicer/build
11. 在 slicer/bin目录下执行:
git clone https://github.com/azadkuh/sqlite-amalgamation.git
12. 将 Slicer/CMake/ExternalData.cmake的第1113行注释掉,其上下相关的内容为
if(NOT succeeded)
foreach(ii RANGE 0 ${exts_range})
list(GET hash_list ${ii} hash)
list(GET algo_list ${ii} algo)
_ExternalData_download_object("${name}" "${hash}" "${algo}"
obj succeeded algoErrorMsg)
set(errorMsg "${errorMsg}\n${algoErrorMsg}")
if(succeeded)
break()
endif()
endforeach()
endif()
if(NOT succeeded)
#message(FATAL_ERROR "${errorMsg}") // <----<<----<<<
endif()
# Check if file already corresponds to the object.
set(stamp "-hash-stamp")
set(file_up_to_date 0)
if(EXISTS "${file}" AND EXISTS "${file}${stamp}")
file(READ "${file}${stamp}" f_hash)
string(STRIP "${f_hash}" f_hash)
if("${f_hash}" STREQUAL "${hash}")
set(file_up_to_date 1)
endif()
endif()
13. 进入 Slcer/build目录
make -j8
14. 编译通过的话,可以如下运行Slicer程序
cd Slicer-build
./Slicer
运行时的界面截图: