前情背景资料:

项目在Github上的源码地址:BRDF

1. 读官网的readme介绍

readme 里介绍了编译方式:

How to compile BRDF Explorer for Windows

The following external dependencies are required (versions are ones that I used, other might also work):

- Qt 4.8.1

- GLEW 1.9.0

- ZLib 1.2.5

- GLUT 3.7

Make sure that qmake is in your PATH. Also put GLEW, ZLib and GLUT include and library directories somewhere VC can find them.

Open Visual Studio 2010 command prompt and navigate to brdf project root directory.

Run "qmake -r -tp vc prefix=foo", this will generate the vcxproj and sln files.

翻译如下:知道除了VS还需要QT、 GLEW、Zlib和Glut

如何在编译“BRDF Explorer”的Windows版

首先需要以下的依赖程序(这些版本号是我以前用的,其他版本有可能也行)

- Qt 4.8.1

- GLEW 1.9.0

- ZLib 1.2.5

- GLUT 3.7

确保qmake在你的Path。同时把GLEW, ZLib and GLUT 的include and library 放到工程的 VC确保可以找到的路径下。

打开VS2010的命令提示符并导航到 brdf 项目根目录。

执行"qmake -r -tp vc prefix=foo",将会生成对应的工程文件。

2.配置依赖和编译环境

2.1 QT下载、安装、配置(这一步属于踩坑)

从QT官网下载QT-Creator(社区版),下载地址:qt-x64-4.4.1-online.exe

选用默认安装,直到组件这一步我改选了 ”桌面开发“,然后继续安装

安装完成后按照教程运行了一个空工程,发现下图中的Kit无法找到,果然最后无法编译成功。

经查,造成以上现象的原因可能是:anaconda不兼容,于是卸载anaconda并重新安装QT Creator。同时添加下图所示的环境变量。

依据上述教程中的内容下载并安装了 Windows Debugging

2.2VS 下载、安装、配置(这一步基本没有用上,只在最后打包时用上了)

通过VS官网下载安装Visual Studio2022

配置环境变量PATH如下:

安装"QT visual studio tools "插件

- VisualStudio 2022

2.3 GLEW 下载及配置(这一步没用上)

Glew编译教程按照教程下载Glew2.1.0的二进制压缩包

配置方法如下:

- GLEW 1.9.0

2.4 GLUT 下载及配置(这一步没用上)

GLUT 下载及配置教程按照教程和官网指引Glut3.7的dll库和头文件

- GLUT 3.7

2.5 Zlib下载、编译、配置

按照教程Zlib编译教程去Zlib官网下载源码并编译

- ZLib 1.2.5

3.编译

3.1踩坑

根据我第二步括号里的内容,我不出意外的出了意外

首先除了ZLib知道要在配置文件(config.pri)中填好对应路径,之外其他两个插件都不知道应该放在啥地方

另外,编译一直报错说找不到文件路径

3.2 真正的教程

后来发现了大佬的教程只需要参照这里第3节的部分,基本上就能顺利编译成功

至于Qt版本建议选择5.14.1,下载连接 ,(其他QT版本下载地址)因为5.14.0.在用windeployqt 对release打包时存在bug。

复述一下:

1.首先用QT打开工程文件

2.打开config.pri,分别把编译好的Zlib文件的路径填进去,路径自己指定即可

3.在 brdf.pro文件中加入一行

prefix= /path/to/destination/

4.在main上右键,点击运行

然后会报错,说无法打开data文件

此时只需要把原来工程文件中的以下5个文件夹

复制到生成的编译结果路径下

再次点击运行,即可正常使用

4.生成release版

原本默认地是生成debug版本,生成release版需要把kit的构建方式改一下,重复上一步地操作即可

5.打包发行

a)将上一步生成地brdf.exe文件 复制到一新建地文件夹下

我放在了D盘 test路径下

b)在安装路径下找到对应地kit套件地命令行(QT需要提前配置好环境变量)

VC和QT环境变量中的Path配置情况如下:

c)打开后进入 brdf.exe所在目录,执行" windeployqt brdf.exe"

程序无报错后,打包即完成

d)打开后同样出现无法打开data文件,同样将编译过程中提到的5个文件夹复制到该exe路径下即可

enjoy it

注:沿途路径不要有中文。

从零开始搞起 Disney BRDF源码编译(含踩坑经历)相关推荐

  1. Spring5.x源码分析 | 从踩坑到放弃之环境搭建

    Spring5.x源码分析--从踩坑到放弃之环境搭建 前言 自从Spring发行4.x后,很久没去好好看过Spring源码了,加上最近半年工作都是偏管理和参与设计为主,在技术细节上或多或少有点疏忽,最 ...

  2. Flutter中网络图片加载和缓存源码分析,踩坑了

    关于Android的近况 大家都知道,今年移动开发不那么火热了,完全没有了前两年Android开发那种火热的势头,如此同时,AI热火朝天,很多言论都说Android不行了.其实不光是Android,i ...

  3. ppp源码编译走过的坑

    下载 ppp 开源代码使用 configure 命令进行编译,可是在编译中存在库文件找不到或者编译错误问题,通过分析错误原因,简单整理如下: configure 编译命令 configure 命令中因 ...

  4. flink1.13.2源码编译遇到的坑1.Failed to execute goal org.apache.rat:apache-rat-plugin:0.12

    1. 问题:Failed to execute goal org.apache.rat:apache-rat-plugin:0.12:check (default) on project flink- ...

  5. flink1.13.2源码编译遇到的坑(三)Browserslist: caniuse-lite is outdated. Please run next command `npm update

    问题:Browserslist: caniuse-lite is outdated. Please run next command npm update 解决办法:先删了node_modules/c ...

  6. Android4.0源码编译方法以及错误解决方案

    from:http://blog.csdn.net/wanjun8659/article/details/8095664 历时一个星期,终于将android4.0源码编译成功,中间经历了各种曲折,非常 ...

  7. java调用clang编译的so_写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实

    好奇害死羊 很多小伙伴们做Java开发,天天写Java代码,肯定离不开Java基础环境:JDK,毕竟我们写好的Java代码也是跑在JVM虚拟机上. 一般来说,我们学Java之前,第一步就是安装JDK环 ...

  8. Android4.4源码编译(Ubuntu1204/1404)

    好久没写博客了,最近折腾了一个周,总算把Android4.4系统源码编译通过,有网上的大神们在,其实也不难. 效果图 一.介绍 我的电脑配置不咋滴(i3+4G+320),分了90个G来装了个Ubunt ...

  9. 源码 linux下编译_Linux云服务器软硬链接及源码编译安装python3.8的一些备注

    推荐一个简书作者写的从零开始学习Linux,非常细,授人以鱼不如授人以渔. https://www.jianshu.com/p/54c0e6a1da99 正文:看一下服务器的版本 cat /proc/ ...

最新文章

  1. 全球AI技术开放日系列之(七):走进阿里业务中台
  2. 初探WCF 如何在配置文件中指定Address?
  3. t test table
  4. 以太网接口保护方案设计图
  5. select使用css居右对齐
  6. GoldenGate for win安装配置
  7. 微服务化架构演进与人员组织
  8. 130242014039-(2)-体验敏捷开发
  9. 《手机屏幕》参数与选择
  10. 音视频常见码率、帧率等概念介绍
  11. 91m2中对DB进行了一次封装的DBHelpUtil工具类
  12. 脑子笨的人可以学计算机吗,学理科吃力,我真的很笨吗
  13. 怎么提高图片分辨率?如何改变图片的分辨率?
  14. 博雅数智|第四次直播|PageRank算法
  15. 21 python - 字典
  16. CNN的Python实现——第四章:卷积神经网络的结构
  17. 3D游戏角色模型建模| ZBrush制作3D兽人
  18. 开发商撑不住了,房价要下跌
  19. water sensor水位传感器
  20. 腾讯汤道生:上云赋智的终极价值是服务于人

热门文章

  1. JDOM解析xml文件
  2. Python 内存回收机制
  3. 【MySQL作业】分组查询 group by 子句——美和易思分组查询应用习题
  4. Golang interface 接口详细原理和使用技巧
  5. 最好用的股市技术指标
  6. 2022-2028全球与中国零售电子商务软件市场现状及未来发展趋势
  7. 四因素解读金银跌势仍将继续
  8. CANopen总线的协议详解
  9. docker——Ubuntu镜像操作和apache web容器操作小实训
  10. python 任务管理系统_python bottle框架开发任务管理系统 V_1.0版