3Dslicer在windows下源码编译源码并打包程序亲测可用
对于医疗图像数据可视化有一些比较成熟的开源软件库,其中包括volview(2011年已经停止维护和更新),MITK(德国非中科大版),3Dslicer和ITK-SNAP。3Dslicer功能非常的强大但是也是代码量最多的。可以去它的官网直接下载打包好的程序,支持windows、apple、linux三个平台,生态还是比较健全的。slicer还有一个比较方便的地方是支持c++和python开发,支持python的话可以快速验证深度学习的一些算法,开发速度比较快。相比较 于其他的库而言slicer更像一个IDE。
有的时候需要对slcer进行修改,比如你的公司想使用自己的布局还有logo等,此时就需要对源码进行编译修改。下面介绍在windows平台下如何配合visual studio进行编译。
环境:
Cmake >= 3.21.1
Git >= 1.7.10VS 我使用的是2019社区版
Qt5 要求的是5.15.2 下载地址https://download.qt.io/official_releases/online_installers/ 选择 qt-unified-windows-x64-online.exe 只能在线安装了
NSIS 可选 (程序打包的时候使用的,即打包成一个exe文件,可以在别人电脑上安装你写好的程序)
1. 创建source文件和build文件
.在自己的电脑上创建3D slicer程序的source文件路径 例如C:\D\S4 由于windows的最大路径问题,在编译的时候源文件必须在非常短的文件路径下编译,虽然不是必须但是强烈建议不要将source文件和build文件放到同一个空间中。创建build文件路径,推荐release文件路径为C:\D\S4R,debug文件路径为C:\D\S4D,同样可以使用相同的build文件树。
2.下载source code到创建的C:\D\S4文件下
使用 git clone https://github.com/Slicer/Slicer.git . 下载 注意这里的. 是必要的因为没有这个“.”的话会创建一个Slicer子文件在当前的文件下。
3.配置开发者仓库(可选)
右键选择刚下载的C:\D\S4\的Utilities --》 Git bash here 然后输入 ./SetupForDevelopment.sh 此时可以注册自己的代码仓库。
4.配置并且build 3D slicer
4.1 运行Cmake(cmake-gui)
4.2 配置source和build文件的路径,先别急着configure
4.3 Add Entry-> Name Qt5_DIR Type -> PATH Value -> Qt5文件 例如C:\Qt\5.15.2\msvc2019_64\lib\cmake\Qt5
4.4 点击Configure 取消 BUILD_TESTING 取消Slicer_USE_QtTesting 只使用Debug和Release2个编译
4.5 需要能够科学上网
4.6 点击Generate
4.7 点击Open Project 打开vs2019
4.8 点击生成开始下载依赖编译
这一步会报错 Error in configuration process, project files may be invalid error: "Couldn't resolve host name"
解决方案:修改该文件(文件位置在源码目录的CMake文件夹下)的set(url “…”),将url改成https://www.baidu.com,只要能访问的就行。
(这里我最开始报的错误是:SSL connect error,后来发现是我之前修改过hosts文件,在里面添加了raw.githubusercontent.com,解析的ip还是个错的,最后就把它删了)
点击Open Project 打开vs2019
右击All_build进行生成,这里需要能够科学上网,因为需要下载一些库。如果失败了先别管多试几次,网络不好会报错timeout的。
如下图就是报错MSB806很多错误都是网络引起。 5.运行slicer
找到../Slicer-build(你编译的文件下)/Slicer.exe 执行app应用
注意: Slicer.exe是一个“launcher”设置了环境变量,真正的执行文件是在../Slicer-build(你编译的文件下)/bin/Release/SlicerApp-real.exe
到这里就是编译成功了,如果想要打包你的程序生成exe的话需要安装开头说的NSIS,然后编译
6.Package Slicer(创建 安装包)
打包成为exe可执行文件
使用vs打开D:\Slicer_B\Slicer-build\Slicer.sln
右键点击解决方案中的CmakePredefinedTargets下的PACKAGE选择生成即可生成exe执行文件
文件在D:\Slicer_B\Slicer-build\Slicer-5.1.0-2022-07-20-win-amd64.exe即可在其他的电脑上执行
这里编译和打包就完成了,下面说下编译的过程中可能需要的错误和解决方案。
错误1 Error in configuration process, project files may be invalid
error: "Couldn't resolve host name"
解决方案:修改该文件(文件位置在源码目录的CMake文件夹下)的set(url “…”),将url改成https://www.baidu.com,只要能访问的就行。
(这里我最开始报的错误是:SSL connect error,后来发现是我之前修改过hosts文件,在里面添加了raw.githubusercontent.com,解析的ip还是个错的,最后就把它删了)
1.查看是否有 CMAKE_USE_OPENSSL 选项,有就打钩,没有的话添加
2.function(slicer_check_cmake_https)
#set(url "https://raw.githubusercontent.com/Slicer/Slicer/main/CMakeLists.txt") 修改成下面的
set(url "https://www.baidu.com")
set(dest "${CMAKE_CURRENT_BINARY_DIR}/slicer_check_cmake_https_output")
错误2 python-dicom-requirements 报错 error MSB6006: “cmd.exe”已退出,代码为 1
解决方案1:由于缺少Python库而导致的错误(或其他与Python相关的错误,例如构建Python -…-requirements项目或Python包装SimpleITK)可能是由于构建系统检测到系统上某处安装了Python,而不是Slicer自己的Python环境。要解决此类问题,请删除环境变量(PATH, PYTHONPATH, PYTHONHOME)中对Python的所有引用。或者,在开始构建Slicer之前,暂时重命名或删除其他Python安装;它们可以在Slicer构建完成后恢复。
解决方案2:重新安装新的python后解决(注意这里一定要断了VPN但是别断网安装程序)。
错误3unable to access 'https://github.com/miloyip/rapidjson.git/': OpenSSL SSL_read: Connection was reset, errno 10054
解决方案:有时候当我们使用Git获取资源,会报“OpenSSL SSL_read: Connection was reset, errno 10054”的错误,出现该错误是因为服务器的SSL证书没有经过第三方机构的签署
在我们需要获取资源的文件夹中,右键打开Git的命令面板 Git Bash Here
输入 git config --global http.sslVerify "false"
3Dslicer在windows下源码编译源码并打包程序亲测可用相关推荐
- ubuntu下 teamviewer的安装方法(超简单,亲测可用)
ubuntu下 teamviewer的安装方法(超简单,亲测可用) 1.去官网下载安装包 官网链接:https://www.teamviewer.com/zhcn/download/linux/ 点击 ...
- windows下扩展yaf,并生成yaf框架文件(亲测)
YAF中文文档:http://www.laruence.com/manual/index.html 1 YAF框架是用C开发的,属于PHP的扩展框架: 2 YAF的性能相对于源生PHP,性能只降低不到 ...
- Windows和VM下的Ubuntu虚拟系统之间相互复制粘贴(亲测可用)
文章目录 一.问题 二.解决思路 三.解决方法 一.问题 Windows和VM下的Ubuntu虚拟系统之间相互复制粘贴 二.解决思路 两个系统之间不能直接粘贴复制,安装辅助工具即可. 三.解决方法 s ...
- mysql 源码 sln_在windows下使用vs2013编译和调试mysql源代码
在windows下使用vs2013编译和调试mysql源代码 1. 准备工作 1)OS:win10 + VS2013 2)mysql 源码(windows版):mysql-5.6.25.zip 3)p ...
- win10最新下载编译Android源码的简易方法分享(已亲测)
win10最新下载编译Android源码的简易方法分享(已亲测) 准备至少150G的硬盘空间 win+R 输入control 打开程序与功能-启用或关闭Windows功能 勾选"适用于Lin ...
- 【C#】C#中使用GDAL3(一):Windows下超详细编译C#版GDAL3.3.0(VS2015+.NET 4+32位/64位)
转载请注明原文地址:https://www.cnblogs.com/litou/p/15004877.html 总目录 (一)Windows下超详细编译C#版GDAL3.3.0(VS2015+.NET ...
- 手把手教你在Windows下使用MinGW编译libav
2019独角兽企业重金招聘Python工程师标准>>> 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言开发的,不可避免的,libav ...
- 手把手教你在Windows下使用MinGW编译libav(参考libx264的编入)
转自:http://www.th7.cn/Program/cp/201407/242762.shtml 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言 ...
- 英皇cms影视网站系统源码_多种模板_自带采集_支持APP+pc+wap三端_(亲测可用有搭建教程)
源码介绍 影视网站源码,自带采集功能多入口,带会员,卡密,代理等功能,免费模板可自选 支持三端:pc+wap+app端,支持视频下载,有直播,开通会员等功能,带短视频,论坛等等功能自行搭建查看,一款功 ...
最新文章
- R语言ggplot2可视化条形图(bar plot)、并为条形图添加误差条(error bar)、自定义设置误差条(error bar)的颜色/色彩( Barplots with Error bar)
- CPU 有个禁区,内核权限也无法进入!
- linux rsync 本地 远程 增量 备份 同步工具 问题集合
- 青龙羊毛——鸡厂签到
- hdu4763 KMP
- 深入理解JVM(1)——Java内存区域与Java对象
- MapReduce流程(WordCount案例实现)
- easyui带表单的弹窗效果制作
- windows下buildbot 的搭建及config文件讲解
- Dotnet Core下的Channel, 你用了吗?
- vue 动态变量名_【告别复制粘贴】动态模板生成小技巧
- python装好了怎么启动车_【填空题】Python安装好后,可以直接在CMD命令行下输入( )命令, 可启动交互式编程,提示窗口如下:...
- 计算字符串距离(信息学奥赛一本通-T1298)
- 陈丽琳:如何以大数据助力商场运营
- 滴滴回应未删道歉微博;阿里 P7 员工租自如病亡;苹果无人车出事故 | 极客头条...
- PHP array_rand随机获取数组中的数据
- Git以及Git小乌龟的安装使用
- FPGA学习.7——DDS信号发生器
- 20180310华为面试
- 记一次win7 配置Windows Update 失败,还原更改,无法进入系统
热门文章
- android设置背景颜色渐变,Android背景渐变色(shape,gradient)
- 如何理解概率分布函数和概率密度函数?
- CnOpenData与国家高端智库——综合开发研究院(中国·深圳)达成战略合作伙伴关系
- 使用cmi工具连接服务器远程装机exsi
- 山东标梵分享这些小程序开发干货让你不在犹豫
- Vue中用 Vue Baidu Map 绘制地图
- 真无线半入耳耳机推荐,2022半入耳蓝牙耳机音质排行榜
- 测试飞机高度和速度的软件,飞机是怎样测量飞行的高度、速度和方向的?
- Cannot redeclare C() (previously declared in .
- 【基于视觉语义特征的室外SLAM建图算法研究】