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. 间断有限元h自适应处理方法

    细分单元 function Hrefine2D(refineflag) 根据refineflag变量细分单元,其中refineflag变量大小为 [Kx1],需要细分单元标记为1,不需要单元为0. 根 ...

  2. 【转】群体研究套路:开心果denovo+重测序+转录组+群体进化+选择位点

    转自公众号Eric生信小班.学习群体遗传套路 中科院昆明动物园吴东东研究团队联合国外研究团队2019年在Genome Biology发表题为Whole genomes and transcriptom ...

  3. mysql-彻底删除方法

    一.如果是使用yum安装的mysql,使用如下命令进行卸载(不能确定使用何种方式安装的mysql情况下,按后续步骤一一进行处理即可): yum remove mysql mysql-server my ...

  4. 58-Odd Even Linked List

    Odd Even Linked List My Submissions QuestionEditorial Solution Total Accepted: 29496 Total Submissio ...

  5. 表格合并单元格【c#】

    gridBranchInfo.DataSource = dtBranchViewList; gridBranchInfo.DataBind(); Random random = new Random( ...

  6. C++ 中的多重继承的问题

    如何正确使用C++多重继承 BY R12F · PUBLISHED 2011年06月17日 · UPDATED 2012年03月11日   原创文章,转载请注明:转载自Soul Apogee本文链接地 ...

  7. linux 软链接与查看历史指令

    ln 说明 软连接也叫符号链接,类似于windows里的快捷方式,主要存放了路径. 基本语法 ln -s[原文件或目录][软连接名] 删除软链接 [root@hadoop102 ~]# rm -rf ...

  8. java9 模块化 jigsaw

    java9并没有在语言层面做出很多改变,而是致力于一些新特性,如模块化,其核心就是解决历史遗留问题,为以后的jar包森林理清道路.模块化是一个很大的命题,就不讲那么细致了,关于java9的特性也有很多 ...

  9. Mysql的行级锁

    我们首先需要知道的一个大前提是:mysql的锁是由具体的存储引擎实现的.所以像Mysql的默认引擎MyISAM和第三方插件引擎 InnoDB的锁实现机制是有区别的. Mysql有三种级别的锁定:表级锁 ...

  10. JDBC(1):JDBC介绍

    一,JDBC介绍 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC.这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加 ...