Windows环境下编译SOFA源码

在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:昨日编译完后赶紧写了我的第一篇博客,如有错误之处,欢迎广大朋友指正。


阅读更多

更多精彩内容