nanogui源码编译+下载
MAC 没电了,哎.....
只能使用windows10将就了。
截至目前,我已经找到了两个nanogui项目,都是大佬。 分别为:
A、https://github.com/dalerank/nanogui
B、https://github.com/wjakob/nanogui
区别:
1、A 链接的nanogui相对B而言,控件库更丰富, 多了控件 table等控件。
2、B链接的nanogui,不支持vulkan.
3、A链接的nanogui, 同时提供了UI设计的 editor.
本文将介绍 A连接的源码。
---------------- 源码A---------------------
我准备好了一份完整的源码, 下载后,可以直接通过编译, 避免出现下面的坑。
下载链接:https://github.com/mohistH/nanogui_from_dalerank
或者 https://github.com/mohistH/nanogui_from_dalerank/releases/tag/1.0.1
------ 踩坑总结:
1、按照之前的方式下载了源码(https://github.com/dalerank/nanogui),使用cmake配置,cmake提示:
CMake Error at CMakeLists.txt:66 (message):
No backends selected! Select one of backends: opengl(NANOGUI_GLFW_BACKEND),
dx11(NANOGUI_DX11_BACKEND), dx12(NANOGUI_DX12_BACKEND),
vulkan(NANOGUI_VULKAN_BACKEND)
2、于是自己打开 【CMakeLists.txt】, 将 【NANOGUI_GLFW_BACKEND】(根据你的需要)设置为ON(默认为OFF),并保存。
3、打开CMake, clear cache。 重新配置,发现提示如下:
CMake Error at CMakeLists.txt:73 (message):
The NanoGUI dependency repositories (GLFW, etc.) are missing! You probably
did not clone the project with --recursive. It is possible to recover by
calling "git submodule update --init --recursive"
4、于是重新使用终端来到源码文件夹,重新执行下载, 这里 也说过了下载源码的指令。下载源码的指令如下:
$ mkdir nanogui-test
$ cd nanogui-test
$ git init
$ git submodule add https://github.com/wjakob/nanogui.git lib/nanogui
$ git submodule update --init --recursive
5、第一次下载源码nanogui,少了上面的最后一条指令。 重新执行后,下载成功,并且使用cmake重新配置成功。
注意:上面的指令是下载源码B的方式,下载源码A的指令如下:
$ cd nanogui-test
$ git init
$ git submodule add https://github.com/dalerank/nanogui.git lib/nanogui
$ git submodule update --init --recursive
6、我已经将下载好的源码放到了 github(点击访问), 可以下载后,直接配置生成成功。 mac没电了,就放一张windows下的cmake截图吧

7、打开 cmake的构建目录,发现已经生成了解决方案(MAC没电了,Windows 将就了)。用VS打开 解决方案,选择项目all build , 执行 生成。生成结果:

8、运行结果(cmake生成的项目,我选择生成了我需要的):

nanogui源码编译+下载的更多相关文章
- 【转】Android 4.3源码的下载和编译环境的安装及编译
原文网址:http://jingyan.baidu.com/article/c85b7a641200e0003bac95a3.html 告诉windows用户一个不好的消息,windows环境下没法 ...
- Android源码的下载和编译
由于公司会安排我做硬解码这块,所以最近一直想研究一下Android源码,可是Android源码的下载真的挺麻烦的(可能是我第一次下载),参照网上的方法,没有一个可行的,现在就将我的下载过程和大家分享一 ...
- 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...
- Spring源码研究--下载-编译-导入eclipse-验证
一,环境配置 操作系统:Unbutu14.04LTS JDK: 1.8.0_40 git: 1.9.1 gradle: 2.2.1 二,源码下载-编译-导入eclipse-验证 1,下载 使用git直 ...
- Android源码和内核源码的下载,编译和执行
笔者依据罗升阳老师的<Android 系统源码情景分析>一书,尝试下载,编译和执行Android源码和内核源码.但可能是软件源"被墙"或版本号更新的原因.期间遇到诸多问 ...
- Android stdio Apktool源码编译
Android Apktool源码编译 标签(空格分隔): Android Apktool 源码编译 需求 习惯NetBeans调试smali需要用Apktool反编译apk,需要用-d的参数才能生成 ...
- SSH/SSL 源码编译安装简易操作说明
环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...
- Hadoop源码编译过程
一. 为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通 ...
- World Wind .NET源码编译问题处理
World Wind .NET源码编译问题处理 下载了World_Wind_1.4.0_Source源码(http://worldwindcentral.com/wiki/NASA_World_W ...
随机推荐
- 间断有限元h自适应处理方法
细分单元 function Hrefine2D(refineflag) 根据refineflag变量细分单元,其中refineflag变量大小为 [Kx1],需要细分单元标记为1,不需要单元为0. 根 ...
- 【转】群体研究套路:开心果denovo+重测序+转录组+群体进化+选择位点
转自公众号Eric生信小班.学习群体遗传套路 中科院昆明动物园吴东东研究团队联合国外研究团队2019年在Genome Biology发表题为Whole genomes and transcriptom ...
- mysql-彻底删除方法
一.如果是使用yum安装的mysql,使用如下命令进行卸载(不能确定使用何种方式安装的mysql情况下,按后续步骤一一进行处理即可): yum remove mysql mysql-server my ...
- 58-Odd Even Linked List
Odd Even Linked List My Submissions QuestionEditorial Solution Total Accepted: 29496 Total Submissio ...
- 表格合并单元格【c#】
gridBranchInfo.DataSource = dtBranchViewList; gridBranchInfo.DataBind(); Random random = new Random( ...
- C++ 中的多重继承的问题
如何正确使用C++多重继承 BY R12F · PUBLISHED 2011年06月17日 · UPDATED 2012年03月11日 原创文章,转载请注明:转载自Soul Apogee本文链接地 ...
- linux 软链接与查看历史指令
ln 说明 软连接也叫符号链接,类似于windows里的快捷方式,主要存放了路径. 基本语法 ln -s[原文件或目录][软连接名] 删除软链接 [root@hadoop102 ~]# rm -rf ...
- java9 模块化 jigsaw
java9并没有在语言层面做出很多改变,而是致力于一些新特性,如模块化,其核心就是解决历史遗留问题,为以后的jar包森林理清道路.模块化是一个很大的命题,就不讲那么细致了,关于java9的特性也有很多 ...
- Mysql的行级锁
我们首先需要知道的一个大前提是:mysql的锁是由具体的存储引擎实现的.所以像Mysql的默认引擎MyISAM和第三方插件引擎 InnoDB的锁实现机制是有区别的. Mysql有三种级别的锁定:表级锁 ...
- JDBC(1):JDBC介绍
一,JDBC介绍 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC.这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加 ...