在Windows环境下对SOFA源码进行编译,参考SOFA官方网站
(https://www.sofa-framework.org/community/doc/getting-started/build/windows/)
一、编译环境配置
1、编译器的选择
VS2008或更高级的版本,建议选择使用VS2012或者2013版本,这样的话我们可以使用Qt5的64位库。选用了VS2013作为编译测试环境
(后期在测试的时候使用了VS2015和Qt5.7,但是由于出现的各种原因又重新换回VS2013)。
2、CMake 2.8.8或者更高版本。在此选用了3.4.3版本。
3、需要依赖
(1)Qt版本必须是Qt 4.8.3或者更高级版本。
正如官网所述,各种toolkit之间版本还是要对应的,按照Summary选用了Qt 5.6版本。官网给的下载链接貌似有点问题,这里提示Qt的各种
版本下载:http://download.qt.io/archive/qt/可以根据自己的需要来下载相应版本。
(2) Boot:SOFA和Boost 1.60.0或者更低版本的能兼容,选用了1.60.0版本,可以在此下载:
https://sourceforge.net/projects/boost/files/boost-binaries/
需要注意的是,VS和MSVC之间的对应:VS2013=MSVC12,VS2012=MSVC11,...
(3) 另外所需的库:ZLib、libXML2
根据官网下载相应的SOFA依赖库,注意这些依赖库都是已经编译好了的不需要自己再去装,直接拷贝到源码的文件夹下就可以了,比如:
sofa/v16.05/src.(v16.05是我使用的编译测试版本,感觉比v16.08要好用的多)
4、系统路径的设置
分别将Boost和Qt的路径加入到环境变量,比如我的路径是以下两个:
C:\Qt\Qt5.6.0_VC2013\5.6\msvc2013_64\bin和C:\Qt\Qt5.6.0_VC2013\5.6\msvc2013_64\lib
C:\boost_1_60_0_VC2013\lib64-msvc-12.0
二、在Windows上进行编译
1、设置源码和编译路径
https://github.com/sofa-framework/sofa/tree/v16.05 SOFA源码v16.05的下载版本,解压后:sofa-16.05/src/同时,记住把SOFA dependencies for
Windows 拷贝到该目录下,会得到如下文件:
另外,在sofa-16.05目录下建立sofabuild文件夹,作为sofa编译路径,如图:
2、CMake生成Makefile文件
在configure之前,先点击Add Entry 添加CMAKE_PREFIX_PATH,如图所示:
进行1、2、3步骤完后,使用的是VS2013所以configure时选择Visual Studio 12 2013 win64来生成sofa.sln文件
3、编译sofa.sln
很浪费时间,电脑会出现卡死的状况,两三个小时是正常的,在服务器上跑起来还是蛮快的,二十分钟。
编译的时候会有小语法错误,需要自己改过来,有错误及时改以免浪费时间。
PS:昨日编译完后赶紧写了我的第一篇博客,如有错误之处,欢迎广大朋友指正。