Win10 x64
VS2019 x64
Qt 5.12.11
CMake 3.21
OPenSSL x64
https://slproweb.com/products/Win32OpenSSL.html
2、源码准备https://github.com/MITK/MITK/releases/
MITK v2021.10
3、编译过程(1)务必先登录v p n或者爬梯子(比如英超兰帕德),否则源码编译一定会失败。
(2)务必修改路径T:\vtk\MITK-2021.10\CMakeExternals\*.patch文件的格式。
把文件夹里面的6个patch文件使用EditPlus编辑软件打开,统一修改换行方式为Windows PC方式,不能是Unix方式。
步骤(1)和(2)至关重要,决定了源码是否能否编译成功。
如果忽视了,那么后续编译源码就会报错:
(3)cmake准备,x64
建议源码路径和build路径不要过长且不要包含中文,否则可能出错。
Configure,建议把BUILD_TESTING去掉,节省时间
然后Generate,Open Project即可。
cmake参数除了BUILD_TESTING已去掉(可有可无),其他都是使用默认值,不需要修改。
(4)编译MITK-superbuild工程
其实cmake配置完毕,打开的工程默认就是MITK-superbuild工程,路径在:
T:\vtk\MITK-2021.10\build\MITK-superbuild.sln
一键编译即可。
期间会自动下载第三方依赖的源码。
只要梯子够稳定,整个源码下载过程很友好。
如果出现不友好,一定是网络卡了或中断了,那只能重新构建工程,重新下载源码了,直到成功。
最后会报错,先不管它,我们留到后面一步来解决:
(5)编译MITK工程
这次需要手动打开工程,路径在:
T:\vtk\MITK-2021.10\build\MITK-build\MITK.sln
一键编译即可。
过程会C2220报错:
解决办法:
打开子项目MitkCore,属性,常规,将警告视为错误修改为--否!
其他几个子项目也是采取同样方式解决:
MitkDICOMPMIO
MitkDICOMSegIO
MitkModelFit
(6)大功告成!!
执行程序在T:\vtk\MITK-2021.10\build\MITK-build\bin\Debug\MitkWorkbench.exe
4、程序启动入口\MITK-2021.10\Applications\Workbench\MitkWorkbench.cpp
int main(int argc, char **argv)
{
......
// Run the workbench.
return app.run();
}
\MITK-2021.10\Modules\AppUtil\src\mitkBaseApplication.cpp
int BaseApplication::run()//主程序入口
{
this->init(d->m_Argc, d->m_Argv);
return Application::run();//会回调执行void BaseApplication::initialize()
}
\MITK-2021.10\build\ep\src\Poco\Util\src\Application.cpp
int Application::run()
{
int rc = EXIT_CONFIG;
initialize(*this);
try
{
rc = EXIT_SOFTWARE;
rc = main(_unprocessedArgs);
}
catch (Poco::Exception& exc)
{
logger().log(exc);
}
catch (std::exception& exc)
{
logger().error(exc.what());
}
catch (...)
{
logger().fatal("system exception");
}
uninitialize();
return rc;
}
//真正的初始化函数:
void BaseApplication::initialize(Poco::Util::Application &self)//回调之后的主程序入口
{
......
}
int BaseApplication::main(const std::vector &args)
{
......
}
void BaseApplication::uninitialize()
{
......
}
5、程序调用堆栈
主窗口界面在\MITK-2021.10\Plugins\org.blueberry.ui.qt\src\internal\berryWorkbenchWindow.cpp
\MITK-2021.10\Plugins\org.blueberry.ui.qt\src\internal\berryWorkbench.cpp
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)