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🐍
在這裏插入圖片描述

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