3D Slicer源代码编译与调试(Visual Studio)

2023-05-16

开始

    本文将Slicer的源码在Windows系统的编译过程记录下来。

我的编译环境:

  1. Qt5.9.3
  2. VS2015
  3. Git 2.16.1
  4. CMake 3.14.1
  5. NSIS(Unicode NSIS)

编译

    上述编译环境的准备好之后,开始着手进行编译准备工作及编译。

  1. 获取3D Slicer的源代码,Git地址:https://github.com/Slicer/Slicer.git。
  2. 使用CMake生成VS的工程文件,打开CMake的界面,设置相关路径:
    Where is the source code:设置刚才下载的Slicer源码路径;
    Where to build the binaries:设置生成的工程及代码存储路径;
    点击“Add Entry”增加Qt5的路径,具体路径参考Qt5安装的路径:
    在这里插入图片描述
    点击Configure设置VS版本和编译版本(Win32/X64):
    在这里插入图片描述
  3. 设置完点击“Finish”,开始Configuring…直到提示完成,如果现实红色提示的话多点几次Configure。
  4. 点击Generate这时在D:/Slicer-SuperBuild-X64(我设置的路径)就会生成Slicer的工程文件,。点击Cmake的Open Project或者直接打开D:/Slicer-SuperBuild-X64目录下的Slicer.sln。

    :Configure之前要确保Qt的相关组件已经安装,下图中Qt5前缀开始的都会用到,缺少一项也不会成功(如果缺少的话,在控制面板-程序-程序和功能 中更改Qt的安装)。
在这里插入图片描述

  1. 开始漫长的Build,注意,这次Build一定要连接Internet,过程中会下载相关的源代码进行编译。
  2. 可能因为编译器原因,编译最后一个工程的时候出现了vtkSlicerApplicationLogic.cxx文件的vtkSlicerApplicationLogic::CreateProcessingThread函数在创建线程时回调函数传值导致编译不过,我将函数做了强制转换:
    SpawnThread((itk::ThreadFunctionType)(vtkSlicerApplicationLogic::ProcessingThreaderCallback),this)

编译过程很长,整个编译下来D:/Slicer-SuperBuild-X64文件大小超过30G,代码量据说超过了120W行,我没统计。

调试

    编译完整成后,严格执行下列步骤进行调试:

  1. 命令行cd到D:/Slicer-SuperBuild-X64/Slicer-build这个目录,执行Slicer.exe --VisualStudio启动VS;
  2. VS打开此目录下的Slicer.sln工程文件(注意现在已经有了两个Slicer.sln,这次打开的是D:/Slicer-SuperBuild-X64/Slicer-build/Slicer.sln);
  3. 然后在VS中设置App-Slicer下的SlicerApp为启动项:
  4. F5执行调试。

在这里插入图片描述
    打开Main.cxx看到了传说中的int SlicerAppMain(int argc, char* argv[])函数,找到感兴趣的代码,开始学习吧!!!
在这里插入图片描述

参考网址:

Build: https://www.slicer.org/wiki/Documentation/Nightly/Developers/Build_Instructions
Debug:https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/Debug_Instructions
Other: https://blog.csdn.net/shenziheng1/article/details/76551694

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

3D Slicer源代码编译与调试(Visual Studio) 的相关文章

  • Android Studio 使用Lambda表达式「详细配置」

    前言 xff1a Lambda 表达式 xff0c 也可称为闭包 xff0c 它是推动 Java 8 发布的最重要新特性 Lambda 允许把函数作为一个方法的参数 xff08 函数作为参数传递进方法中 xff09 使用 Lambda 表达
  • 视觉惯性里程计Visual–Inertial Odometry(VIO)概述

    本文主要来自于博客园关于知乎的讨论 链接如下 xff1a Visual Inertial Odometry VIO
  • Visual Studio 与Visual C++ 有什么区别

    Visual C 43 43 是 Visual Studio的一个部分 xff0c 此外还有 Visual Basic xff08 VB xff09 Visual C 等 VC 43 43 6 0 是VS6的 VC 43 43 2003 是
  • Visual Studio 2022 C++开发 (Win)配置教程

    前言 本文将讲解如何在Window系统下配置Visual Studio 2022版本的C 43 43 开发环境 步骤 下载并且安装Visual Studio Tools xff08 1 xff09 下载 Visual Studio Tool
  • C++之初识多态(Visual Studio 2019)

    此文章关于多态的代码全部是使用Visua Studio2019 x86 实现的 xff0c C 43 43 多态在不同编译器中的实现细节可能不同 xff0c 所以部分情况下相同代码运行结果可能不同 xff0c 在此声明 目录 多态的概念 多
  • Visual Studio Code (vscode) 配置 C / C++ 环境

    Visual Studio Code vscode 配置 C C 43 43 环境 步平凡 博客园 在电脑安装软件管控严格的情况下 xff0c 想装VS装不了 xff0c 就装轻量版的VSCode了 以上写得很好 xff0c 照做即可 本人
  • Visual Studio 与 Visual C++ 关系

    Visual Studio netVisual C 43 43 netVisual C 43 43 MSC VER备注Visual Studio net 2002Visual C 43 43 net 2002Visual C 43 43 7
  • 低版本MATLAB配置高版本Visual Studio进行C/C++编译

    文章目录 前言1 下载支持Visual Studio2019的配置文件2 将Visual Studio2019的配置文件复制粘贴到MATLAB相应路径3 确定注册表添加路径和数值名称4 完成添加4 验证是否成功总结 前言 低版本的MATLA
  • Visual Studio配置OpenGL

    近期工作中需要用到OpenGL 而之前一直是用Opencv工作 xff0c 这就需要在VS上配置OpenGL 因为是首次在VS上配置OpenGL xff0c 以备自己和有需要的小伙伴不时之需 我的VS是2022版的 xff0c 但配置流程各
  • measurement studio测控与单片机通信上位机

    using NationalInstruments Analysis using NationalInstruments Analysis Conversion using NationalInstruments Analysis Dsp
  • android studio 调用C++代码

    Android studio调用C 43 43 代码 JNI原理 JNI Java Native Interface 叫做JAVA本地接口 JAVA是一种跨平台的语言 xff0c 这种特性依赖的是Java虚拟机 xff0c 虚拟机由C C
  • Code Composer Studio的配置及下载事项

    SDK版本 xff1a SIMPLELINK CC13X2 26X2 SDK v5 20 0 52 适用场景 xff1a 首次将工程文件配置到本地时 xff1b 有bim工程 oad工程 协处理器程序多个部分混杂 xff1b 异常问题 xf
  • Visual Assist 在VS2022中安装失败问题

    直接找到C Users xxxxx AppData Local Microsoft VisualStudio 17 0 xxxxx 文件夹 直接右击删除这个文件夹 注意要在VS2022关闭时再删除 可以先做一次备份 正常运行安装VA X S
  • Visual Studio中设置opencv环境

    图像处理的项目中 xff0c 每建立一个新的项目 xff0c 需要对环境重新设置 xff0c 本文记录一下自己在VS中设置环境的步骤 xff0c 也分享给相同的入门小白 本文侧重说明VS中调用opencv的环境设置步骤 xff0c open
  • visual studio升级

    visual studio升级 概述升级步骤温馨提示 概述 有时处于开发要求或者安全要求 xff0c 需要将visual studio升级到最新的版本 本篇文章记录一下如何升级 升级步骤 1 找到visual studio的安装路径下的安装
  • 使用Visual Studio Code开发Arduino踩坑日记(持续更新)

    使用Visual Studio Code开发Arduino踩坑日记 持续更新 文章目录 使用Visual Studio Code开发Arduino踩坑日记 持续更新 1 在browse path中未找到包含文件问题描述问题分析解决思路解决过
  • Visual Studio 2022下载安装

    Visual Studio 2022下载安装 1 进入官网 官网地址 xff1a https visualstudio microsoft com 这里以Windows操作系统为例 根据需要选择版本 xff0c 我这里下载的是Enterpr
  • Ubuntu14.04 安装Android studio

    Ubuntu14 04 安装Android studio Android Studio 官方 Android IDE Android Studio 提供用于为各类 Android 设备开发应用的最快速的工具 利用世界一流的代码编辑 调试 性
  • Studio设计布局的新姿势

    目录 ConstraintLayout基本界面 ConstraintLayout约束类型 尺寸约束 边界约束 基准线约束 清除约束 约束示例 自动约束Autoconnect 约束推断Inference View Inspector Fixe
  • Ubuntu12.04下配置Android studio开发环境

    之前一直在Windows下面进行Android的开发任务 Ubuntu也是用的虚拟机 但是最近代码编译了 刷机总是出现一些莫名其妙的问题 于是决定进行一次大迁移 把虚拟机放弃了 直接使用Ubuntu系统 但是这样子要把studio里面的代码

随机推荐

  • linux 下conda环境的配置

    1 安装 anaconda 3 0 下载安装包 xff1a span class token function wget span https repo continuum io archive Anaconda3 5 0 0 Linux
  • Linux 下如何添加一个普通用户,并给予用户root权限

    1 添加用户 xff0c 首先用adduser命令添加一个普通用户 xff0c 命令如下 adduser test1 添加一个名为tommy的用户 span class token function passwd span test1 修改
  • 不使用密码向github提交代码

    每次向github提交代码时都要输入用户名密码 xff0c 太麻烦了 xff0c 影响效率 解决方法 xff1a 1 在命令行中输入 span class token function git span config global cred
  • centos7系统安装好后远程连接执行命令很卡

    centos7系统安装好后 xff0c 远程连接也ok 但远程连接之后执行命令很卡 xff0c 这个问题可能是macaddr导致的 xff0c 我们要检查一下macaddr是否和其他的服务器相同 MACADDR 61 其中 以AA BB C
  • UESTC 1170 红蓝点对

    UESTC 1170 是个变异的最近点对题目 xff0c 用分治策略和计算几何做的话好像会超因为时间上是1000ms xff0c 下面这个贪心做法是看了别人的博客知道的 处理红点到原点的距离然后根据距离排序 xff0c 蓝点一样 xff0c
  • CDH环境下HDFS权限问题

    CDH环境下Hadoop平台最高权限用户是hdfs xff0c 属于supergroup组 默认HDFS会开启权限认证 xff0c 所以操作时 xff0c 需要将root用户切换到hdfs用户 xff0c 否则会报错 问题 xff1a or
  • 手动开启/关闭HDFS的safemode(安全模式)

    在hadoop启动namenode的时候 xff0c 会启动安全模式 xff08 safemode xff09 xff0c 在该模式下 xff0c namenode会等待datanode向它发送块报告 xff08 block report
  • centos7 update gcc to 7.2

    centos7默认的gcc版本是4 8 xff0c 我们需要升级到7 2 安装gcc span class token function wget span https github com gcc mirror gcc archive r
  • centos7升级GLIBC后导致系统不能启动成功

    centos7 glibc2 13 glibc2 27 1 准备U盘系统盘 xff0c 系统要和原来的系统版本匹配 开机重启按F2进入BIOS xff0c 通过U盘启动系统 选择Rescue mode 2 接下来 xff0c 选择 Resc
  • 在Linux中如何运行C语言写的脚本

    目录 1 xff1a Linux下如何运行C语言脚本 2 xff1a 实例展示 1 xff1a Linux下如何运行C语言脚本 Linux别的系统我不知道是不是这个方法 xff0c 我是用的ubuntu的 xff0c 其他的我也没测试过 x
  • Linux——利用Shell脚本编写进度条

    初级版本 xff08 原始进度条 xff09 xff1a span class hljs shebang bin bash span span class hljs built in echo span span class hljs st
  • C语言的日期和时间函数的用法及相应示例

    1 xff0e 概念 在C C 43 43 中 xff0c 对字符串的操作有很多值得注意的问题 xff0c 同样 xff0c C C 43 43 对时间的操作也有许多值得大家注意的地方 下面主要介绍在C C 43 43 中时间和日期的使用方
  • xrdp完美实现Windows远程访问Ubuntu 16.04【包括多人桌面与原生桌面】

    多人桌面 1 安装xrdp sudo apt get install xrdp 2 安装vnc4server 我这里是安装xrdp的时候自动安装的 我看网上很多说是需要单独安装的 3 安装xfce4 sudo apt get install
  • C++ range

    C 43 43 20 引入了 range 来简化对元素序列的处理 xff08 可以省略掉许多的循环遍历 xff09 1 range 和 view range range concept 通过提供一个迭代器以及一个哨兵来表示一个元素范围 xf
  • 高效求两个list的差集

    查一个ListA 的每个值 xff08 String字符串 xff09 在另外一个ListB中是否存在 xff0c 如果不存在就记录下来 模拟数据量 xff1a 100万 方法一 xff1a 直接调用list自带的removeAll方法 p
  • Codeforces Round #368 (Div. 2) A C

    大清早发现自己的rating涨了72分还是很高兴的 xff0c 毕竟之前都是在掉分 xff0c 还差9分才能到宝蓝啊 xff0c 果然还是小菜鸡 A Brain 39 s Photos 大水题 xff0c 要不是这个codeforces是外
  • Linux DISPLAY 设置

    在Linux Unix类操作系统上 DISPLAY用来设置将图形显示到何处 直接登陆图形界面或者登陆命令行界面后使用startx启动图形 DISPLAY环境变量将自动设置为 0 0 此时可以打开终端 输出图形程序的名称 比如xclock 来
  • cmake简单使用及编译项目打包成so文件

    简介 CMake是一个跨平台的编译自动配置工具 xff0c 它使用一个名为CMakeLists txt的文件来描述构建过程 xff0c 可以产生标准的构建文件 它可以用简单的语句来描述所有平台的安装 编译过程 它能够输出各种各样的makef
  • 2021基于Debian的All in One(NAS+软路由)配置教程

    基于Debian10的NAS系统配置 系统概述需求分析功能实现 系统配置简介Debian10的镜像下载与安装系统配置准备oh my zsh安装ssh远程访问开机自动登录root花生壳远程sshFrp图形化界面卸载网路配置磁盘相关命令 软件安
  • 3D Slicer源代码编译与调试(Visual Studio)

    开始 本文将Slicer的源码在Windows系统的编译过程记录下来 我的编译环境 xff1a Qt5 9 3VS2015Git 2 16 1CMake 3 14 1NSIS Unicode NSIS 编译 上述编译环境的准备好之后 xff