3DSlicer21:Windows7+VisualStudio2013构建3DSlicer史上最详细版(Debug)
1.前言
之前数次在虚拟机上成功编译Slicer,感觉过程挺简单的。由于科研项目需要在Windows7环境下开发,所以研究了一下。考虑到国内对于3DSlicer的需求很高,然后相关参考文献及资料极其匮乏,本系列博客尝试改变这种现状,所有项目及教程均具有可重复性。转载标识:Shenziheng/Shenchunxu @Tsinghua Univ.
2.编译
2.1 推荐配置
- 轻松下载部分
Windows7 64bit、VisualStudio2013(with Update 5)、Git最新版(current=2.14.1)Cmake-3.7.1推荐、SVN(推荐SlikSvn)Notice1:强烈推荐使用64bit操作系统;Notice2:强烈推荐VS2013兼有Update5更新,否则报错,参考:https://github.com/Slicer/Slicer/commit/71602609ce2ae5e473ece392500825ca96213371Notice3:强烈推荐使用SlikSvn(svn就是一个版本控制器,方便我们管理开源代码)。如果有强烈的意愿使用TortoiseSVN (versions that support command line tools),那你要确保你安装了命令行工具,默认情况下,命令行工具功能是Disable关闭的。
- 着重下载部分
3D Slicer4.7.0:这个不用我们单独下载,下面采用Git下载最新版本;qt-4.8.7with SSL support:官方推荐自主编译,最一点最容易出错,后面最主要介绍的就是他!2.2 qt-4.8.7-with SSL编译
目前官方推荐的qt-4.8.7-with SSL编译方法如下:Step1:qt-4.8.7-OpenSSL GitHub文件包Step2:执行快速编译指令(VS2013->VS2013 x64本机命令提示),执行下述命令:VS2013 Debug 版本:@powershell -Command "$destDir='C:\D\Support';$buildType='Debug';$qtPlatform='win32-msvc2013';$bits='64';iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/jcfr/qt-easy-build/4.8.7/windows_build_qt.ps1'))"
VS2013 Release版本:
@powershell -Command "$destDir='C:\D\Support';$buildType='Release';$qtPlatform='win32-msvc2013';$bits='64';iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/jcfr/qt-easy-build/4.8.7/windows_build_qt.ps1'))"
![]()
Notice:作者的qt-everywhere-opensource-src-4.8.7.zip源代码存在错误的地方,必须进行修改,否则会导致QT在线编译一次又一次出错。
本文提倡的编译方式如下:step1:在VS2013 x64本机工具命令提示中运行如上Debug版本代码,密切关注屏幕!!!当出现qt-everywhere-opensource-src-4.8.7.zip DownLoad 100%时,按下Ctrl+C组合件,强行停止命令行继续执行。step2:打开文件目录C:/D/Support,你会看到everywhere-opensource-src-4.8.7.zip压缩包如下:
step3:修改代码,进入文件目录...qt-everywhere-opensource-src-4.8.7.zip/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/WebCore/platform 打开文件DefaultLocalizatiaoStrategy.c定位327行看到:
Notice:此处存在两个中文符号“”,是他们导致了qt在线编译的失败,我们需要把它们改成英文的"";step4:在VS2013 x64本机工具命令提示中继续运行如上Debug版本代码,时间挺长,最后可以看到编译成功提示如下:![]()
2.3 生成Slicer4.7.0平台适应性解决方案
- 利用Git工具下载Slicer4.7.0
比较方便方法:创建文件夹C:/myProject;在该文件中,鼠标右键Git Bash Here;输入代码:cd myProjects git clone git://github.com/Slicer/Slicer.git
我们就把GitHub仓库中Slicer4.7.0的代码复制到了本地。
- 可以选择设置开发环境(非核心开发人员,不推荐)
鼠标右键Git Bash Here,键入代码:cd Slicer ./Utilities/SetupForDevelopment.sh
- 使用Cmake生成Slicer源代码生成Slicer.sln
Notice:接下来生成的文件包占用很大的内存空间(我测试之后为14.2G),所以生成的文件不建议放到C盘,本人放到了D盘。![]()
源目录(Browse Source):C:/myProject/Slicer目标目录(Browse Build):D:/Slicer4D (越短越好)额外配置属性值(点击Add Entry):
- Value = QT_QMAKE_EXECUTABLE; FilePath = C:\D\Support\qt-4.8.7-64-vs2013-deb\bin\qmake.exe;
- Value = Slicer_USE_SimpleITK; BOOL = 空(不勾选)Debug模式下切记此步骤
然后的点击configure->generate.很快就可以生成。Frequent Error1: error: Qt 4.7.4 was not found on your system.You probably need to set the
QT_QMAKE_EXECUTABLE variable.
Qt编译错误,或者QT_QMAKE_EXECUTABLE没有设置,或者名字打错了。Frequent Error2:CmakeError155,missing:Subversion_SVN_EXECUTABLE。
用SlikSVN代替TortoiseSVN,或者在Add entity。前者方案更可靠。
- 在D:/Slicer4D中我们就可以找到CMAKE生成的平台适应的解决方案,Windows下应该为Slicer.sln.
2.4 编译生成Slicer-4.7.0.exe
利用Visual Studio 2013 打开Slicer.sln,显示如下:
一般会有53各项目,选择ALL_BUILD,右键单击生成,此时情况下拼得就是网速了,因为该过程需要在线下载Python、vtk、ITK等工具包,编译时间很大程度上取决于网速了。一般该过程很难出错,如果出错重启计算机,再试一次。编译之后,我们便得到一大批XXXXX-build文件夹,其中最重要的是Slicer-build。因为里面有运行程序slicer.exe以及断点调试程序SlicerApp-real.exe(Slicer.sln debug 模式下),下面会详细讲。具体如下:
有了这两个文件,我们就能单步调试Slicer源码,以及我们的代码。
3.Debug与单步调试
Notice:对于VS2013用户,请严格遵循下面方式开启IDE,否则你将遇到一大批***.dll不存在、Memory LEAKs、ImportERROR...
- 在cmd.exe中运行Slicer.exe --VisualStudio,启动VisualStudio。
![]()
- 在VisualStudio3013中打开文件...Slicer-build/Slicer.sln
- 设置SlicerApp为项目启动项(右键点击SlicerApp项目,选择设置项目启动项)
![]()
- 调试(Debug Menu)->启动调试(Start Debug,F5),出现了我们期待已久的界面:
![]()
4.参考资料
[1]https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/Debug_Instructions#Windows[2]https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/Debug_Instructions#Windows
3DSlicer21:Windows7+VisualStudio2013构建3DSlicer史上最详细版(Debug)相关推荐
- 史上最详细版Centos6安装详细教程
镜像CentOS-6.8-x86_64-bin-DVD1.ISO 将下载好的镜像上传到服务器,并选择该镜像(详情请看上篇exsi镜像上传文章) 一.安装开始 开机选择第一项 这里询问我们是否要对光盘进 ...
- 手把手教你利用hexo搭建自己的博客网站----史上完整详细版(基于GitHub for mac)
文章目录 一.安装Node.js 1.1 下载完该安装包,直接进行安装即可. 1.2 打开终端,切换至root用户. 1.3 查看一下node的版本 1.4 查看npm的版本 二.安装hexo 2.1 ...
- 史上最详细版!java文件打包成exe,在未配置安装JDK和未配置的电脑上运行--转载...
原文地址:http://funine.iteye.com/blog/2220359 (本文所有素材将在文章最后附上) 准备工具exe4j, converticon.com(用于制做.ico格式的图片) ...
- 软件开发全文档下载(史上最详细版)
写在前面 在日常项目开发过程中,会产生大量的过程文档,比如开发过程中的文档.管理过程中的文档.产品相关文档等等,那这些文档我们日常怎么去管理呢?怎么去做规划呢?如何做成通用标准呢?小编特地整理了一整套 ...
- Java开发环境搭建(windows版、史上最详细版)
转自:https://blog.csdn.net/runing_it_man/article/details/77800639 Java开发环境搭建 在本章节中我们将为大家介绍如何搭建Java开发环境 ...
- NX/UG二次开发环境配置方法—史上最详细版(以NX11.0和Visual Studio 2017为例)
一.前言 本人之前在用NX12.0以及Visual Studio 2017进行NX二次开发时,进行过开发环境的配置,当时也遇到了一点问题,好在最后解决了.最近由于项目需求,我卸载了NX12.0,重装了 ...
- 史上最详细唇语识别数据集综述
更新:VIPL官网网页格式更改,导致旧的LRW1000链接无法访问,现已更新LRW1000数据集链接,内部包含申请需要的文件 推荐一个大佬的综述,关于实现唇语识别的多种途径. 说明:本文包括经常用语唇 ...
- 史上最详细Lipreading using Temporal Convolutional Networks(MS-TCN)代码层面详解
本文将从代码层面详细介绍在LRW数据集实现SOTA效果的唇语识别模型MS-TCN.GitHub代码请看Lipreading using Temporal Convolutional Networks, ...
- android项目实战博学谷源码_Vue框架:史上最详细的Vue实战项目之喵喵电影(视频+源码)...
Vue是web前端中重要的框架之一,与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计,Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合.所以,对于web前端开 ...
最新文章
- Android Studio窗口组成
- 取得数组中的随机数random.nextInt(index)
- php 动态多维数组长度,怎么在php中利用count获取多维数组的长度
- 导入数据库怎么导入_导入必要的库
- SPI单片机发送ARM接收
- jdbc mysql myeclipse_关于JDBC连接MySQL的问题,我一直解决不了(Myeclipse 环境下)
- SQL Alias(别名)
- 安卓bmi项目_搭载安卓系统的智能健康一体机:上禾SH-V20
- 笔记本html外接显示器,笔记本如何外接显示器
- 360手机助手下载|360手机助手下载
- html编辑器菜鸟工具,富文本编辑器TinyMCE菜鸟使用教程
- 面向对象:兜兜转转了很久,希望你恰好也在
- 宝塔面板linux账号密码忘记,宝塔面板忘记账号或密码的解决办法
- table文字超出显示省略号
- 【抽象代数】环、子环、理想、商环、环的同态
- 当用post方法上传,base64编码的图片太大,导致后台接收的时候总是为null?
- Home Assistant设备追踪之ping检测和nmap检测
- python爬取动态加载的网页之爬取猫眼电影实时票房
- Fildder拦截请求并修改请求参数
- MediaCodec解码AAC音频,用AudioTrack播放解码后的数据