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. Peaks Gym 100365H

    Peaks ( Gym 100365H ) 这题nk做法还挺正常的..后面那个循环就很恶心了 考虑 dp[i][j] 表示长度为i的排列,恰好有k个峰的方案数量. 然后转移就是把 i 插入 i-1 的 ...

  2. ggplot2 颜色渐变(离散颜色)设置

    一.示例数据准备 数据格式如下: 二.作图 1.直接作图结果如下,默认蓝色渐变. 1 ggplot(df,aes(x=BP_A,y=P.value,colour=R2))+ 2 geom_point( ...

  3. day06 目录结构

    day06 目录结构 文件目录 /bin # 存放系统常用命令的目录 /boot # 系统引导程序+内核 /dev # 设备.光驱.硬盘 /etc # 存放系统或服务的配置文件 /home # 普通用 ...

  4. ES6必知,变量的结构赋值。

    对象和数组时 Javascript 中最常用的两种数据结构,由于 JSON 数据格式的普及,二者已经成为 Javascript 语言中特别重要的一部分. 在编码过程中,我们经常定义许多对象和数组,然后 ...

  5. 【STM8】外挂存储器W25Q16

    好像有几张图片被强制缩小了?看到这篇博客的人先对你们说声抱歉,我不知道怎么设置 文字就可以很长(文章宽度的全部),图片就只有文章宽度的2/3宽度 开新分页应该就是原始尺寸了,这点还是和大家说抱歉... ...

  6. android 下动态获取控件的id

    有时候我们需要动态的取得一个一个控件的id,然后进行操作,经过在网上查找,找到了一下方法getResources().getIdentifier("textView01", &qu ...

  7. APP调用系统相册,使用3DTouch重压,崩溃

    崩溃:app调用系统相册,使用3DTouch重压,崩溃 问题描述 app调用系统相册,使用3DTouch重压,一般的app都会崩溃. 解决方法 写个分类即可 @implementation UICol ...

  8. Linux:awk与cut命令的区别

    结论:awk 以空格为分割域时,是以单个或多个连续的空格为分隔符的;cut则是以单个空格作为分隔符.

  9. Spring Boot Actuator:健康检查、审计、统计和监控

    Spring Boot Actuator可以帮助你监控和管理Spring Boot应用,比如健康检查.审计.统计和HTTP追踪等.所有的这些特性可以通过JMX或者HTTP endpoints来获得. ...

  10. apply 和 call 的区别

    相同点: 都能够改变方法的执行上下文(执行环境),将一个对象的方法交给另一个对象来执行,并且是立即执行 不同点: call方法从第二个参数开始可以接收任意个参数,每个参数会映射到相应位置的func的参 ...