3D slicer编译漫漫之路

        我的Slicer编译之路大概可以分为三个阶段。第一个阶段是刚接触医学图像这一块,那时候是懵懵懂懂的。按照网上的教程,貌似是再cmake的时候各种弹窗错误,现在看来当时应该是看错教程了,都没有漫长的Qt编译之路。应该是两年前吧。第二个阶段是半个月前吧,接触这个领域也有两年多了,也能够接受风霜雨雪的打击了,所以打算再试试。花费了两天的时间把最复杂的Qt搞好了,然后Cmake的时候又有弹窗,让我很烦恼,不过Qt这个老大难的问题解决了也算有点安慰吧。然后手头上又有其他紧急的事了,就先放一会吧。反正一直死耗着也不是办法。个人经验,这种事急也记不得。今天又重拾起这个东西,打算把剩下的东西搞好。此刻已经Cmake好了,然后VS正花花的编译着,我就开始写这篇编译攻略了。要是我写完了又出现错误,那看来我的阶段又得增加一个了。如果非得给这个过程起一个响亮的名字,那不妨叫《Slicer:从下载到绝望再到曙光》或者《Slicer:从下载到转行再到吃回头草》。

 

   官方参考教程点击打开链接

   编译的预先准备:

   1. Cmake 3.7.1 点击打开链接 ,官方推荐3.7.1,只要大于3.0就好。不过我刚瞅了一眼我下载的这个Slicer的CmakeList他要求最低版本为3.5

   2. Git 点击打开链接 我用的是2.14.2版本。记得检查是否自己加载到环境变量中。如果没有,自己要加上。

   3. SlikSvn点击打开链接 同样记得环境变量哦。

   4. Qt4.8.7 支持SSL,使用qt-easy-build点击打开链接

   5. Visual Studio,推荐用VS2013.我自己就用的这个。当然官网也有针对其他版本的。不过感觉出的问题比较多。

 

    当所有的准备工作做好之后,就可以开始搞了。我将整个过程分为两大部分,第一个是Qt的下载以及编译,第二个是Slicer。我自己而言前者大概花了整个过程的百分之70吧。所以先给自己定个小目标吧,先把Qt搞好,愉快的出去浪一圈就可以开始下一步了。

  

  一. Qt的下载

       以VS2013对应的64位为例,官方给出的方法是用VS的命令提示行通过输入下面命令来实现

       @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'))"

      关键把上面这个命令行大概看懂,后面的都是基于这个来修改的。

     $destDir是下载Qt及相关配置文件的目录  

     $buildType编译类型(最好用Debug)  

     $qtPlatform编译器的环境

     iex这个我也不知道   关键是里面的链接地址,其实详细看重点是jcfr/qt-easy-build/4.8.7/windows_build_qt.ps1,其实就是qt-easy-build里面的一项,你也可以打开看看其中的东西,主要是整个Qt的下载以及编译流程。前面部分主要是自己下载cmake-2.8.12.1,qt的源码,openssl和jom。当然你也可以提前自己把这些自己下载到对应的文件夹中,时间就会快一些。其中最主要的两个函数是Always-Download-File和Download-File,字面意思都很容易懂。

   上面的这些东西都可以改的。当然最后一个改的前提是你自己的github上有一个这个东西,就可以改成你自己的链接。

    接下来我想告诉你这样一个消息:qt4.8.7源码有格式错误,源码有错误!主要是中英文标点符号的原因,所以你再怎么按照官方教程,换无数机器都编译不出来。

 

   错误地方位为:qt-everywhere-opensource-src-4.8.7.zip\qt-everywhere-opensource-src-4.8.7\src\3rdparty\webkit\Source\WebCore\platform里面的DefaultLocalizationStrategy.cpp的327行,详细看。是不是引号不一样?因为有的是中文格式有的是英文格式。

    改为:WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));

    有人就想到了自己改源代码然后编译,而windows_build_qt.ps1中qt下载用的函数是Always-Download-File $url $qtBuildScriptFile,也就是说只要你在命令行输入命令编译,他就要去下载源码。改了也没用。

    所以要改windows_build_qt.ps1呢,改完之后上传到你自己的GitHub中,然后把命令行的链接改成你自己的github地址。

    所以上具体步骤了:

    1)下载qt4.8.7源码,解压,修改错误的地方然后保存。

    2)下载windows_build_qt.ps1,将其中的87行Always-Download-File $url $qtBuildScriptFile

  

 

 

 

  

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页