SOFA安装

先上官网教程
本文是在window10平台下编译安装SOFA,仅供参考学习,具体安装请根据自己版本等进行相应调整,报错解决方法也不绝对正确,目前只是成功运行了runSofa.exe,见下图
在这里插入图片描述

一、依赖准备

所需依赖及版本列表(版本以博主此次安装版本为例 其他版本类似但不同望周知):

依赖项 版本 用途
visual studio visual studio 2019企业版 VS编译
sofa 稳定版 v19.12 sofa源码
sofa-win-dependencides 官网链接直接下 添加到sofa源码
git git2.26.2_64 获取sofa源码、vcpkg源码
cmake cmake 3.17 cmake 编译
boost boost_1_72_msvc_14.2_64 依赖项
vcpkg git最新版 第二种方法安装bosst(博主用)
QT Qt5.14.2 依赖项 界面显示用
python python2.7.18 cmake编译阶段要求(3不行)

1.1Visual Studio2019 Enterprise

  • a、密钥:

BF8Y8-GN2QH-T84XB-QVY3B-RC4DF

  • b、安装组件需求:
    在这里插入图片描述

  • c、英文界面组件安装(可减少部分编码警告)
    可在VS安装后补充安装,再次运行Visual Studio Installer
    在这里插入图片描述
    在这里插入图片描述

1.2 sofa

在合适安装目录打开powershell运行

git clone -b v19.12 https://github.com/sofa-framework/sofa.git sofa/src

注意上述命令已经包含创建目录 sofa/src

1.3 sofa-win-deoendencides

下载去官网链接就行
下载完毕解压到 sofa/src里
在这里插入图片描述

1.4 Git 、Cmake、 Qt、 python

  • git就自己找教程下载安装就行
  • Cmake 建议用最新版,我在该套版本下 Cmake3.14一直出现找不到boost库的waring,换到3.17后这个waring就没了
  • python 随便找教程直接装 环境不配都行(cmake手动找也行)
  • Qt: Qt ChartsQt webEngine 两个组件打勾
    在这里插入图片描述

1.5 Boost

1.5.1 直接安装

下载对应版本,注意 1.7以上版本才有VS2019 编译所需的 msvc14.2版

  • 运行下载好的.exe 文件
  • 在解压(姑且叫解压)后的目录运行powershell
  • 运行.\bootstrap.bat —— 结束后出现b2.exe
  • 更改配置文件project-config.jam如下

using msvc : 14.2 : “F:\VS2019_enterprise\Enterprise\VC\Tools\MSVC\14.25.28610\bin\Hostx64\x64\cl.exe”
  注意那俩个冒号的空格 不能直接贴上

  • powershell运行——运行时间在两小时左右 ☺

b2.exe stage --toolset=msvc-14.2 address-model=64 threading=multi --build-type=complete

1.5.2 Vcpkg安装

  • 安装Vcpkg
    – 下载:git clone https://github.com/microsoft/vcpkg
    – 编译:Vcpkg工程目录poweshell运行 bootstrap-vcpkg.bat
  • 安装Boost
    –运行.\vcpkg.exe install Boost:x64-windows
    –两小时起步后完成安装在该目录F:\Vcpkg\vcpkg\installed\x64-windows

Vcpkg安装过程中会遇到下载失败的问题(长时间downloading或无法解析)
解决办法:利用vcpkg下载先找缓存的机制

  1. 看powershell窗口 找到此时正在下载东西的下载地址
  2. 手动去该地址下载该项目
  3. F:\Vcpkg\vcpkg\downloads\tmp下复制此时下载文件的正确命名
  4. 正确命名手动下载的项目放置在F:\Vcpkg\vcpkg\downloads
  5. 重新运行.\vcpkg.exe install Boost:x64-windows

二、Cmake阶段

准备完毕,进入Cmake配置阶段

  • source 和 build 目录选择
  • configure 解决报错 直至 configure done
  • genreate 至 generate done
  • Open project 进入 VS编译阶段

configure报错及解决:

  • 报错之Boost
    –(Vcpkg版)Add Entry BOOST_ROOT 注意一定是到include目录一级在这里插入图片描述–(直接安装版)找到Boost_DRE 手动选择 boost的目录
  • 报错之python
    – 找到python_dir 手动选择python2.7 安装目录下 的 python. exe文件
  • 报错之QT Add_Entry
    在这里插入图片描述
  • 报错之pthread
    安装pthread

完事
在这里插入图片描述

三、VS编译

Cmake结束后 打开sofa.sln进入VS阶段
选择relsease build 两个半小时左右
    –build前关掉其他一切不必要进程,博主电脑:
在这里插入图片描述
CPU及内存占用是报表的,期间可能连鼠标都移动不了,甚至会出现堆溢出的报错,这杨就只能从新编译了

  • 没有error起码是可以完成的,bin下出现这个Release文件夹,runSofa.exe就是那条期待的蛇🐍了。

  • 即使没有error也会有一两千个warring,我看了大概都是类型强制转换和编码的问题,好像没啥好办法解决。
    在这里插入图片描述

  • 报错:无法创建Realse文件夹,因为已经有同名的文件或文件夹
    – 去bin下直接把名为Realse的那个文件删了。。。(不知道以后会遇到什么问题),反正不删是没办法编译的,改大小写都不行

四、运行

走到这一步,Relase下终于出现了runSofa.exe 这个东西
双击运行出现那条🐍, 恭喜。

实际,无情:

  • 一堆找不到dll报错:
    解决 :
    – 找到这些dll在哪,添加该目录去环境变量或把这些dll送到exe目录下
    我添加了这两个环境变量

F:\SOFA_v19.12\source\lib\win64
F:\SOFA_v19.12\build\bin

  • qt报错 last Used GUI.ini not found: SOFA qt.qpa.plugin: could not find the qt platform pugin windows in "
    解决:
    – 在exe执行文件的目录下,创建目录platforms,把qwindows.dll放入;
    – 把libEGL.dll放入到exe所在的目录。

libEGL.dll 在 F:\Qt5.14.2\5.14.2\msvc2017_64\bin
qwindows.dll 在F:\Qt5.14.2\5.14.2\msvc2017_64\plugins\platforms

runSofa.exe🐍
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章