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源码编译+下载的更多相关文章

  1. 【转】Android 4.3源码的下载和编译环境的安装及编译

    原文网址:http://jingyan.baidu.com/article/c85b7a641200e0003bac95a3.html  告诉windows用户一个不好的消息,windows环境下没法 ...

  2. Android源码的下载和编译

    由于公司会安排我做硬解码这块,所以最近一直想研究一下Android源码,可是Android源码的下载真的挺麻烦的(可能是我第一次下载),参照网上的方法,没有一个可行的,现在就将我的下载过程和大家分享一 ...

  3. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

    作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...

  4. Spring源码研究--下载-编译-导入eclipse-验证

    一,环境配置 操作系统:Unbutu14.04LTS JDK: 1.8.0_40 git: 1.9.1 gradle: 2.2.1 二,源码下载-编译-导入eclipse-验证 1,下载 使用git直 ...

  5. Android源码和内核源码的下载,编译和执行

    笔者依据罗升阳老师的<Android 系统源码情景分析>一书,尝试下载,编译和执行Android源码和内核源码.但可能是软件源"被墙"或版本号更新的原因.期间遇到诸多问 ...

  6. Android stdio Apktool源码编译

    Android Apktool源码编译 标签(空格分隔): Android Apktool 源码编译 需求 习惯NetBeans调试smali需要用Apktool反编译apk,需要用-d的参数才能生成 ...

  7. SSH/SSL 源码编译安装简易操作说明

    环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...

  8. Hadoop源码编译过程

    一.           为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通 ...

  9. World Wind .NET源码编译问题处理

    World  Wind  .NET源码编译问题处理 下载了World_Wind_1.4.0_Source源码(http://worldwindcentral.com/wiki/NASA_World_W ...

随机推荐

  1. IDE 常用配置

    启动进入欢迎页(项目选择页),而非直接进入项目 File > Settings > Appearance & Behavior > System Settings 在Star ...

  2. Mysql查询优化汇总 order by优化例子,group by优化例子,limit优化例子,优化建议

    Mysql查询优化汇总 order by优化例子,group by优化例子,limit优化例子,优化建议 索引 索引是一种存储引擎快速查询记录的一种数据结构. 注意 MYSQL一次查询只能使用一个索引 ...

  3. mongDB进阶

    Mongo进阶 聚合 聚合操作将来自多个文档的值组合在一起,并且可以对分组数据执行各种操作以返回单个结果. 文档进入多阶段管道,将文档转换为聚合结果 聚合管道 例子: 第一阶段:过滤,$match 第 ...

  4. Hadoop【MR开发规范、序列化】

    Hadoop[MR开发规范.序列化] 目录 Hadoop[MR开发规范.序列化] 一.MapReduce编程规范 1.Mapper阶段 2.Reducer阶段 3.Driver阶段 二.WordCou ...

  5. nodejs-Express框架

    JavaScript 标准参考教程(alpha) 草稿二:Node.js Express框架 GitHub TOP Express框架 来自<JavaScript 标准参考教程(alpha)&g ...

  6. Shell学习(七)——sort、uniq、cut、wc命令详解

    Shell学习(七)--sort.uniq.cut.wc命令详解 转自:[1]linux sort,uniq,cut,wc命令详解 https://www.cnblogs.com/ggjucheng/ ...

  7. AFNetworking 网络错误提示data转换字符串

    AFN在进行网络交互时,有时候会碰到返回502.500.404的时候.后台的总需要你配合他查出问题所在.但是AFN在返回数据序列化时解析错误只会转成NSData类型的数据,如果直接扔给后台Data的数 ...

  8. Linux基础命令---smbpasswd管理samba密码

    smbpasswd smbpasswd指令可以用来修改samba用户的的密码,该指令不仅可以修改本地samba服务器的用户密码,还可以修改远程samba服务器的用户密码. 此命令的适用范围:RedHa ...

  9. Spring(3):AOP面向切面编程

    一,AOP介绍 AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软件开 ...

  10. ES6(模板字符串,三点运算符,Symbol,iterator接口)

    模板字符串 作用:简化字符串的拼接 模板字符串必须用``包含 变化的部分使用${xxx}包含 对象的简写方式 同名的属性可以省略不写 可以省略函数的function 箭头函数 箭头函数的特点 箭头函数 ...