20240304-使用VS2022编译blender3.6.2源代码

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

链接: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

方法二

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

链接:https://pan.baidu.com/s/1fc5caORz_vMTvjFosIX9iA?pwd=knlm 
提取码:knlm 

2、其他位置

onedrive/lib/blender/win64_vc15/win64_vc15-svn63335-wf20240305.7z

五、执行make生成VS工程文件

方法一:

进入控制台:

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行改为如下代码:

// 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,正式发布,逸品香山。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/438050.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安装sqlserver2022最新版只能使用.\SQLEXPRESS登录数据库怎么修改成.

.\SQLEXPRESS “服务器名称 localhost\SQLEXPRESS”中的 “SQLEXPRESS”就是数据库的实例名称/数据库名/服务器名&#xff0c; “localhost”即登录本计算机安装的数据库 安装sqlserver2022最新版只能使用.\SQLEXPRESS登录数据库怎么修改成. 2、查看SQL Server数据库的实例名…

Redis实战—验证码登录功能实现

本博客为个人学习笔记&#xff0c;学习网站&#xff1a;黑马程序员Redis入门到实战 实战篇之验证码登录 目录 基于Session实现登录流程 发送短信验证码 短信验证码登录、注册 校验登录状态 session共享问题 Redis代替session的业务流程 设计Key的结构 设置Key的细节 整…

FreeRTOS操作系统学习——任务管理

任务概念 在FreeRTOS中&#xff0c;一个任务相当于一个线程&#xff0c;可以有很多的任务&#xff0c;每个人任务可以设置不同的优先级。相同优先级的任务轮流使用CPU&#xff0c;高优先级的任务可以一直使用CPU&#xff0c;直到主动放弃&#xff0c;低级的任务才有被执行的机…

Stable Diffusion 模型分享:DucHaiten-AIart-SDXL(动漫、3D、逼真)

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 这是一个丰富多彩的 SDXL 模型&#xff0c;可以绘制动漫、3D、科幻、真实等类型的图片。 …

响应式编程五股票订阅系统实现

响应式编程五 使用StepVerifier测试响应式流StepVerifier要点 使用StepVerifier进行高级测试股票订阅系统数据库表 使用StepVerifier测试响应式流 出于测试目的&#xff0c;Reactor 提供了额外的 reactor-test 模块&#xff0c;该模块提供了 StepVerifier。StepVerifier 提供了…

Go的安装

一. 下载地址 Go官方下载地址&#xff1a;https://golang.org/dl/ Go中文网&#xff1a;https://go.p2hp.com/go.dev/dl/ 根据不同系统下载不同的包。 二. 配置GOPATH GOPATH是一个环境变量&#xff0c;用来表明你写的go项目的存放路径。 GOPATH路径最好只设置一个&#xff0…

【JavaEE初阶】 JVM 运行时数据区简介

文章目录 &#x1f343;前言&#x1f332;堆&#xff08;线程共享&#xff09;&#x1f384;Java虚拟机栈&#xff08;线程私有&#xff09;&#x1f38b;本地方法栈&#xff08;线程私有&#xff09;&#x1f333;程序计数器&#xff08;线程私有&#xff09;&#x1f334;方法…

CentOS上安装MySQL 5.7和MySQL 8.0教程

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

Hive的性能优化

1.调优概述 Hive 作为大数据领域常用的数据仓库组件&#xff0c;在设计和查询时要特别注意效率。影响 Hive 效率的几乎从不是数据量过大&#xff0c;而是数据倾斜、数据冗余、Job或I/O过多、MapReduce分配不合理等等。对 Hive 的调优既包含 Hive 的建表设计方面&#xff0c;对H…

如何学习I2C协议

文章目录 学习I2C协议0 懒人直达1 了解协议开发者2 从恩智浦半导体公司下载官方技术文档3 翻译成中文4 资源下载 学习I2C协议 0 懒人直达 点击直达 1 了解协议开发者 I2C&#xff08;Inter-Integrated Circuit&#xff09;协议是由荷兰皇家飞利浦电子公司&#xff08;现恩智…

python 基础知识点(蓝桥杯python科目个人复习计划59)

今日复习内容&#xff1a;做题 例题1&#xff1a;建造房屋 问题描述&#xff1a; 小蓝和小桥是两位年轻的建筑师&#xff0c;他们正在设计一座新的城市。 在这个城市中&#xff0c;有N条街道&#xff0c;每条街道上有M个位置可以建造房屋&#xff08;一个位置只能建造一个房…

#14vue3生成表单并跳转到外部地址的方式

1、背景 后端返回的json数据中包含一个json数组&#xff0c;此数组中是目标跳转地址所需要的form表单的数据。 2、跳转前的页面 const goto () > {finish.value true;request.post(/xxx/yyy,{zzz: zzz.value}).then(res > {const url res.data.submitUrlconst params…

洞察未来5-10年数字化转型的革命性趋势

“十四五”规划和2035年远景目标纲要提出了加快数字化发展&#xff0c;建设数字中国的目标&#xff0c; 这意味着数字化转型将成为推动生产方式、生活方式和治理方式变革的关键力量。 加快数字化发展 建设数字中国 ⭐ 打造数字经济新优势 ⭐ 加快数字社会建设步伐 ⭐ 提高数字…

【力扣白嫖日记】1070.产品销售分析III

前言 练习sql语句&#xff0c;所有题目来自于力扣&#xff08;https://leetcode.cn/problemset/database/&#xff09;的免费数据库练习题。 今日题目&#xff1a; 1070.产品销售分析III 表&#xff1a;Sales 列名类型sale_idintproduct_idintyearintquantityintpriceint …

Selenium自动化测试-3.元素定位(1)

这次我们要分享的是对元素的定位&#xff0c;在一个页面中有很多不同的策略来定位一个元素&#xff0c;我们选择最合适的方法即可。 一个页面最基本组成单元是元素&#xff0c;想要定位一个元素&#xff0c;我们需要特定的信息来说明这个元素的唯一特征。 selenium 主要提供了…

Javaweb之Web后端开发总结的详细解析

4. Web后端开发总结 到此基于SpringBoot进行web后端开发的相关知识我们已经学习完毕了。下面我们一起针对这段web课程做一个总结。 我们来回顾一下关于web后端开发&#xff0c;我们都学习了哪些内容&#xff0c;以及每一块知识&#xff0c;具体是属于哪个框架的。 web后端开…

BUUCTF-Misc2

wireshark1 1.打开附件 发现是流量包&#xff0c;放到Wireshark中分析 2.过滤 根据题目的提示寻找管理员登录的网站&#xff0c;从中获取密码 用http.request.methodPOST&#xff0c;过滤当前的 HTTP 请求为 POST 方法 3.查找 双击过滤后的流量包&#xff0c;查找管理员密码…

HarmonyOS(二)Ability应用模型概述

目录 1 Ability概念 2 Ability形态 3 Stage优势 4 Stage模型结构 5 总结 注&#xff1a;本章内容提前声明。 基于HarmonyOS开发者3.1/4.0版本配套的开发者文档&#xff0c;对应API能力级别为API 9 Release。 详情可参考官网API入门第一章应用模型文档中心 1 Ability概念…

Sleuth(Micrometer)+ZipKin分布式链路追踪

Sleuth(Micrometer)ZipKin分布式链路追踪 Micrometer springboot3之前还可以用sleuth&#xff0c;springboot3之后就被Micrometer所替代 官网https://github.com/spring-cloud/spring-cloud-sleuth 为什么会出现这个技术&#xff1f; 在微服务框架中&#xff0c;一个由客户…

SAP MM学习笔记44 - 特殊调达流程 - Blanket购买发注(汇总采购)

上一章学习了 支付计划&#xff0c;本章继续学习 Blanket购买发注&#xff08;汇总采购&#xff09;。 SAP MM学习笔记43 - 特殊调达流程 - 支付计划-CSDN博客 1&#xff0c;Blanket购买发注 概要 其实就是订好一个大致数额&#xff0c;然后让随便买&#xff0c;只要不超这个…