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

news2024/12/23 20:09:32

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

龙蜥社区成立系统安全 SIG,助力系统安全生态

随着数字化时代的到来&#xff0c;云计算、大数据、人工智能等技术的广泛应用&#xff0c;操作系统承载越来越多的关键业务和数据&#xff0c;其安全性对于信息系统的运转和发展具有至关重要的作用。因此&#xff0c;加强操作系统安全防护、提高安全意识和防范能力是数字化时代…

php常见的45个漏洞及解决方案

[TOC]&#xff08;太多了&#xff0c;目录只列出最重要的几个&#xff0c;剩下的同学们自己翻&#xff09; PHP作为一种广泛应用的服务器端脚本语言&#xff0c;在历史上曾曝出过多种安全漏洞。以下是一些PHP漏洞的类别及其简要解释&#xff0c;以及如何解决这些问题&#xff1…

看一看阿里云,如何把抽象云概念,用可视化表达出来。

云数据库RDS_关系型数据库 云数据库RDS_关系型数据库 专有宿主机 云数据库RDS_关系型数据库_MySQL源码优化版 内容协作平台CCP-企业网盘协同办公-文件实时共享

LT6813/ADBMS1818底层驱动---均衡控制

1、LT6813采用内部均衡的原理 2、平衡控制结构体 根据数据库中读取的控制值设置平衡。要为单元设置平衡&#xff0c;必须将相应的位写入配置寄存器中。LTC 驱动程序仅执行数据库中 BMS 写入的数据。 参数 ltc_stateLTC 状态机的状态pSpi接口指向 SPI 配置的指针pTxBuff &…

【nodejs】“__dirname is not defined”错误修复

▒ 目录 ▒ &#x1f6eb; 问题描述环境 1️⃣ 原理CommonJS vs ESM错误原因 2️⃣ 禁用 ESM 模式并改用 CommonJS方案一&#xff1a;项目方案二&#xff1a;单文件 3️⃣ 在 ESM 模式下自实现__dirname&#x1f4d6; 参考资料 &#x1f6eb; 问题 描述 从网上找了一份代码&am…

O2O:Offline Meta-Reinforcement Learning with Online Self-Supervision

ICML 2022 paper Introduction 元强化学习(Meta RL)结合O2O。元RL需要学习一个探索策略收集数据&#xff0c;同时还需学习一个策略快速适应新任务。由于策略是在固定的离线数据集上进行元训练的&#xff0c;因此在适应探索策略收集的数据时&#xff0c;它可能表现得不可预测&…

Tomcat源码解析(三):LifeCycle生命周期管理

Tomcat源码系列文章 Tomcat源码解析(一)&#xff1a;Tomcat整体架构 Tomcat源码解析(二)&#xff1a;Bootstrap和Catalina Tomcat源码解析(三)&#xff1a;LifeCycle生命周期管理 目录 前言一、LifeCycle接口1、接口介绍2、生命周期状态 二、LifecycleBase抽象类1、监听器2、…

JavaEE之volatile关键字

一.内存可见性问题 什么是内存可见性问题 计算机运行的程序/代码&#xff0c;往往需要访问数据。这些数据往往存在于内存中。 cup使用此变量时&#xff0c;就会把内存中的数据先读出来&#xff0c;加载到cpu寄存器中&#xff0c;再去参与运算。 但是&#xff0c;关键是cpu读…

opengl 学习(三)-----着色器

着色器 分类demo效果解析教程 分类 OPengl C demo #include "glad/glad.h" #include "glfw3.h" #include <iostream> #include <cmath> #include <vector>#include <string> #include <fstream> #include <sstream>…

Spring源码:手写AOP

文章目录 一、概念1、AOP是什么&#xff1f;2、相关概念1&#xff09;目标对象Target2&#xff09;通知Advice3&#xff09;连接点Joinpoint4&#xff09;切点Pointcut5&#xff09;切面Aspect6&#xff09;织入Weaving 二、分析三、实现1、实现Advice1&#xff09;前置通知2&a…

IDEA中新增文件,弹出框提示是否添加到Git点错了,怎么重新设置?

打开一个配置了Git的项目&#xff0c;新增一个文件&#xff0c;会弹出下面这个框。提示是否将新增的文件交给Git管理。 一般来说&#xff0c;会选择ADD&#xff0c;并勾选Dont ask agin&#xff0c;添加并不再询问。如果不小心点错了&#xff0c;可在IDEA中重新设置&#xff08…

经典语义分割(二)医学图像分割模型UNet

经典语义分割(二)医学图像分割模型UNet 我们之前介绍了全卷积神经网络( FCN) &#xff0c;FCN是基于深度学习的语义分割算法的开山之作。 今天我们介绍另一个语义分割的经典模型—UNet&#xff0c;它兼具轻量化与高性能&#xff0c;通常作为语义分割任务的基线测试模型&#x…

海格里斯HEGERLS助力服装业领域数智化转型 配备7000个托盘位 仓库容量增超110%

近年来&#xff0c;用工荒成为服装制造行业的一大痛点。对此&#xff0c;整个生产体系就要不断地向智能化、自动化生产设备进行转型&#xff0c;甚至在研发设计上都要面向自动化做一些新一代服装制造业的开发。 作为较早入局物流赛道的河北沃克&#xff0c;目前已构建起以AI赋能…

P2241 统计方形(数据加强版) python解法

求n*m网格内矩形的数目 - tenos - 博客园 (cnblogs.com) 法一&#xff08;题解推规律暴力枚举得到&#xff09;&#xff1a; n,mmap(int,input().split()) sqr,rec0,0 #正方形和长方形个数 #以长宽做循环&#xff0c;每次求n*m大小的矩形的个数 #题解是从0开始的&#xff0c;我…

Java二级--操作题详解(1)

目录 1.第一套&#xff1a; 1.1 基本操作&#xff1a; 1.2 题解分析&#xff1a; 2.1 简单应用&#xff1a; 2.2 解题分析&#xff1a; 3.1 综合应用&#xff1a; 3.2解题分析&#xff1a; 1.第一套&#xff1a; 1.1 基本操作&#xff1a; 在考生文件夹中存有文件名为J…

浅析扩散模型与图像生成【应用篇】(八)——BBDM

8. BBDM: Image-to-Image Translation with Brownian Bridge Diffusion Models 本文提出一种基于布朗桥&#xff08;Brownian Bridge&#xff09;的扩散模型用于图像到图像的转换。图像到图像转换的目标是将源域 A A A中的图像 I A I_A IA​&#xff0c;映射到目标域 B B B中得…

【重要!!退税!退税!】一年一度个人所得税综合年度汇算开始了!

目录标题 如何退税&#xff1f;2023年度个人所得税综合所得汇算清缴操作指南汇算准备标准申报 退税骗局&#xff1f;1.“您有一笔退税待领取”骗局2.“专业人员帮你多退税”骗局3.“诱导填报虚假个税信息”骗局4.“税务稽查人员联系你”骗局 如何退税&#xff1f; 2023年度个人…

【elementplus】el-image图片预览的显示不全问题(和el-table、el-dialog组合使用时)

问题&#xff1a; 在和el-table、el-dialog组合使用时&#xff0c;el-image图片预览的时候&#xff0c;会可能出现显示不全图片的情况。 解决方法&#xff1a; <el-image-viewer:z-index"3000":teleported"true"/>element文档中有属性&#xff1a;…

【SpringBoot3.x教程03】SpringBoot自动配置详解

前言&#xff1a;什么是自动配置 自动配置的原理 Spring Boot自动配置尝试根据添加到项目中的jar依赖、定义的bean以及各种属性设置来自动配置Spring应用。这是通过EnableAutoConfiguration注解实现的&#xff0c;该注解通常是通过SpringBootApplication注解间接应用的。Spring…

如何实现数据中心布线变更管理?

前言 随着科技的不断发展&#xff0c;数据中心作为企业的核心基础设施之一&#xff0c;承载着大量重要的业务数据。在数据中心运维过程中&#xff0c;变更管理流程变得尤为重要&#xff0c;它是确保数据中心基础设施稳定运行和保障数据安全的关键环节。变更管理的定义是指在维…