20240304-使用VS2022编译blender3.6.2源代码
一、软件环境
- Win10 x64 22h2 June
- VS2022 v17.9.0
- CMake v3.24.4
- SVN v1.14.3
- GIT v2.29.2
- 标签:win10 22h2 vs2022 blender 63335
- 分栏:C++
二、硬件环境
- Win10 x64的PC台式机
三、获取源码
方法一
网盘下载源码,版本v3.6.2。
1、baidunetdisk
baidunet>5-软件>T-图形图像>blender>v3.6.2>src>blender1-v3.6.2.zip
C
链接:https://pan.baidu.com/s/15pyULNKkYqEF_rkuXwcVpQ?pwd=3njy
提取码:3njy
2、其他位置
onedrive>software>blender>v3.6.2>src>blender1-v3.6.2.zip。
wpsdrive>C-常用软件>T-图形图像>T-图像处理>blender>v3.6.2>src>blender1-v3.6.2.zip
方法二
bash
git clone https://github.com/blender/blender.git
cd blender
git checkout v3.6.2
这里的路径是【D:\github\blender\blender】。
四、获取win64_vc15库文件(revision:63335)
新建目录【lib/win64_vc15】,lib和blender源码平级,如图1;
1. 方法一
需要svn客户端,这里推荐【TortoiseSVN】,设置【Icon Overlays】里的【Status cache】选项为【None】,否则下载速度会很慢。如图tor1:
在win64_vc15目录下checkout依赖库地址【https://svn.blender.org/svnroot/bf-blender/trunk/lib/win64_vc15】;
设置Revision为【63335】,依赖python310和libfftw.lib。如图tor2:
注意这个revision版本非常重要,不同的blender可能依赖不同的revision,如果只执行update获取的是最新版本,但不一定适用于指定版本。
方法二
1、baidunetdisk
5-软件>lib>blender>win64_vc15>win64_vc15-svn63335-wf20240305.7z
C
链接:https://pan.baidu.com/s/1fc5caORz_vMTvjFosIX9iA?pwd=knlm
提取码:knlm
2、其他位置
onedrive/lib/blender/win64_vc15/win64_vc15-svn63335-wf20240305.7z
五、执行make生成VS工程文件
方法一:
进入控制台:
bash
cd D:\github\blender\blender
make.bat nobuild
运行成功后会显示生成路径,该路径下包含Blender.sln文件,如图1:
方法二:
打开cmake-gui.exe,设置Where is the source code为【D:/github/blender/blender】,设置Where to build为【D:/github/blender/build】
先点击configure,然后点击generate,如图3:
在build目录生成Blender.sln文件。
六、VS2022批生成
用VS2022打开Blender.sln文件,右键点击解决方案选择【批生成】,如图8:
勾选【INSTALL】【Release】,点击【生成】,如图9:
等待编译,大约25-30分钟。编译成功后如图4:
双击生成目录bin/Release下的blender.exe运行,如图10:
至此编译blender全过程结束。
七、遇到的错误
1、C2397从int转换到const unsigned __int64需要收缩转换
官方源码用VS2022编译会报这个错误(其他版本如果有相同错误也可以参考),如图5:
需将GHOST_Wintab.cc文件的第191行改为如下代码:
C
// m_pkts{queueSize} 原来的代码会报错
m_pkts{(const unsigned __int64)queueSize}
或者
m_pkts{static_cast<const unsigned __int64>(queueSize)}
改动后如图6:
再次编译即可。
参考文献
-
《从源代码编译Blender》,YakSue,CSDN。
-
《类型收窄error C2397:conversion from ...》,林夕07,CSDN。
更新历史
2024-03-04 10:04:10,创建,云杉路11号。
2024-03-06 14:03:50,完成初稿,准备发布CSDN。
2024-03-07 22:53:28,正式发布,逸品香山。