win10+vs2015编译nanogui
!!版权声明:本文为博主原创文章,版权归原文作者和博客园共有,谢绝任何形式的 转载!!
作者:mohist
说明:
A、OS : win10 1909 ,没有配置OpenGL开发环境的 经历。
B、 VS: 2015_up3
今天的随笔是基于 昨天的源码。 若没有看, 请点击 这里
也可以在这里下载: https://github.com/mohistH/nanogui_lib/releases/tag/1.0
还有,需要用到 cmake , 而且需要将其添加到 环境变量中,这样就可以愉快的在命令行使用cmake了。
-----------------------------------------------------------------------------------------------------------
1、准备好源码, 打开源码文件夹, 来到 : XXXXX: \nanogui_lib\nanogui_lib\lib\nanogui 目录。
C:\nanogui_lib\nanogui_lib\lib\nanogui 的目录 2020/07/21 09:09 <DIR> .
2020/07/21 09:09 <DIR> ..
2020/07/21 09:11 <DIR> build
2020/07/20 10:42 22,396 CMakeLists.txt
2020/07/20 10:42 2,563 CONTRIBUTING.rst
2020/07/21 09:07 <DIR> docs
2020/07/21 09:07 <DIR> ext
2020/07/21 09:07 <DIR> include
2020/07/20 10:42 2,190 LICENSE.txt
2020/07/21 09:07 <DIR> python
2020/07/20 10:42 7,671 README.rst
2020/07/21 09:07 <DIR> resources
2020/07/21 09:07 <DIR> src
4 个文件 34,820 字节
9 个目录 111,890,804,736 可用字节
2、我这里已经创建了 文件夹 build. 若没有创建, 使用命令: mkdir+文件名 ( +为空格)
mkdir build
3、执行命令: cd build 进入build文件夹, 接着, 再执行命令: cmake ..
cmake ..
4、等待命令输出 对应的解决方案 及其工程文件,
C:\nanogui_lib\nanogui_lib\lib\nanogui\build>cmake ..
-- Building for: Visual Studio 14 2015
-- Selecting Windows SDK version to target Windows 10.0.18363.
-- The C compiler identification is MSVC 19.0.24215.1
-- The CXX compiler identification is MSVC 19.0.24215.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/major/development/tools/vs_install/vs_2015/VC/bin/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/major/development/tools/vs_install/vs_2015/VC/bin/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Using Win32 for window creation
-- NanoGUI: LTO support enabled.
-- Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE)
CMake Warning at CMakeLists.txt:450 (message):
NanoGUI: not building the Python plugin! -- Configuring done
-- Generating done
-- Build files have been written to: C:/nanogui_lib/nanogui_lib/lib/nanogui/build
5、继续执行命令 dir ,可以看到生成了解决方案。
C:\nanogui_lib\nanogui_lib\lib\nanogui\build 的目录 2020/07/21 09:11 <DIR> .
2020/07/21 09:11 <DIR> ..
2020/07/21 09:10 51,321 ALL_BUILD.vcxproj
2020/07/21 09:10 293 ALL_BUILD.vcxproj.filters
2020/07/21 09:10 15,768 CMakeCache.txt
2020/07/21 09:12 <DIR> CMakeFiles
2020/07/21 09:10 3,077 cmake_install.cmake
2020/07/21 09:12 <DIR> Debug
2020/07/21 09:11 <DIR> example1.dir
2020/07/21 09:10 64,586 example1.vcxproj
2020/07/21 09:10 597 example1.vcxproj.filters
2020/07/21 09:11 <DIR> example2.dir
2020/07/21 09:10 64,586 example2.vcxproj
2020/07/21 09:10 597 example2.vcxproj.filters
2020/07/21 09:11 <DIR> example3.dir
2020/07/21 09:10 64,586 example3.vcxproj
2020/07/21 09:10 597 example3.vcxproj.filters
2020/07/21 09:11 <DIR> example4.dir
2020/07/21 09:10 64,586 example4.vcxproj
2020/07/21 09:10 597 example4.vcxproj.filters
2020/07/21 09:11 <DIR> example_icons.dir
2020/07/21 09:10 64,676 example_icons.vcxproj
2020/07/21 09:10 602 example_icons.vcxproj.filters
2020/07/21 09:10 <DIR> ext_build
2020/07/21 09:10 <DIR> icons
2020/07/21 09:10 12,406 INSTALL.vcxproj
2020/07/21 09:10 535 INSTALL.vcxproj.filters
2020/07/21 09:10 55,517 mkdoc.vcxproj
2020/07/21 09:10 729 mkdoc.vcxproj.filters
2020/07/21 09:11 <DIR> nanogui-obj.dir
2020/07/21 09:10 73,592 nanogui-obj.vcxproj
2020/07/21 09:10 10,627 nanogui-obj.vcxproj.filters
2020/07/21 09:11 <DIR> nanogui.dir
2020/07/21 09:10 14,106 NanoGUI.sln
2020/07/21 09:12 51,712,000 NanoGUI.VC.db
2020/07/21 09:10 70,598 nanogui.vcxproj
2020/07/21 09:10 8,457 nanogui.vcxproj.filters
2020/07/21 09:11 1,741,174 nanogui_resources.cpp
2020/07/21 09:11 299 nanogui_resources.h
2020/07/21 09:11 <DIR> Win32
2020/07/21 09:10 54,393 ZERO_CHECK.vcxproj
2020/07/21 09:10 536 ZERO_CHECK.vcxproj.filters
28 个文件 54,151,438 字节
14 个目录 111,864,328,192 可用字节
6、 打开 nanogui.sln 文件。可以看有下面的项目:
7、 选择项目: ALL_BUILD , 右键 选择生成, (debug 与 release 都行), 静待 生成 结果:
8、VS输出结果:
1>------ 已启动全部重新生成: 项目: ZERO_CHECK, 配置: Debug Win32 ------
1> Checking Build System
2>------ 已启动全部重新生成: 项目: glfw_objects, 配置: Debug Win32 ------
3>------ 已启动全部重新生成: 项目: nanogui-obj, 配置: Debug Win32 ------
2> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/ext/glfw/src/CMakeLists.txt
2> context.c
3> Running bin2c
2> init.c
2> input.c
2> monitor.c
2> vulkan.c
2> window.c
3> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/CMakeLists.txt
2> win32_init.c
3> nanovg.c
3>c:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\fontstash.h(911): warning C4389: “!=”: 有符号/无符号不匹配
2> win32_joystick.c
3> glad.c
2> win32_monitor.c
2> win32_time.c
3> nanogui_resources.cpp
3> glutil.cpp
3> common.cpp
3> widget.cpp
3> theme.cpp
3> layout.cpp
3> screen.cpp
3> label.cpp
3> window.cpp
3> popup.cpp
3> checkbox.cpp
3> button.cpp
2> win32_tls.c
2> win32_window.c
3> popupbutton.cpp
2> wgl_context.c
2> egl_context.c
2> 正在生成代码...
2> glfw_objects.vcxproj -> C:\nanogui_lib\nanogui_lib\lib\nanogui\build\ext_build\glfw\src\glfw_objects.dir\Debug\glfw_objects.lib
3> combobox.cpp
3> progressbar.cpp
3> slider.cpp
3> messagedialog.cpp
3> textbox.cpp
3> imagepanel.cpp
3> imageview.cpp
3> vscrollpanel.cpp
3> colorwheel.cpp
3> colorpicker.cpp
3> graph.cpp
3> stackedwidget.cpp
3> tabheader.cpp
3> tabwidget.cpp
3> glcanvas.cpp
3> serializer.cpp
3> nanogui-obj.vcxproj -> C:\nanogui_lib\nanogui_lib\lib\nanogui\build\nanogui-obj.dir\Debug\nanogui-obj.lib
4>------ 已启动全部重新生成: 项目: nanogui, 配置: Debug Win32 ------
4> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/CMakeLists.txt
4> 正在创建库 C:/nanogui_lib/nanogui_lib/lib/nanogui/build/Debug/nanogui.lib 和对象 C:/nanogui_lib/nanogui_lib/lib/nanogui/build/Debug/nanogui.exp
4> nanogui.vcxproj -> C:\nanogui_lib\nanogui_lib\lib\nanogui\build\Debug\nanogui.dll
4> nanogui.vcxproj -> C:/nanogui_lib/nanogui_lib/lib/nanogui/build/Debug/nanogui.pdb (Full PDB)
5>------ 已启动全部重新生成: 项目: example1, 配置: Debug Win32 ------
6>------ 已启动全部重新生成: 项目: example2, 配置: Debug Win32 ------
7>------ 已启动全部重新生成: 项目: example3, 配置: Debug Win32 ------
8>------ 已启动全部重新生成: 项目: example4, 配置: Debug Win32 ------
9>------ 已启动全部重新生成: 项目: example_icons, 配置: Debug Win32 ------
6> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/CMakeLists.txt
5> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/CMakeLists.txt
8> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/CMakeLists.txt
6> example2.cpp
5> example1.cpp
8> example4.cpp
7> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/CMakeLists.txt
9> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/CMakeLists.txt
7> example3.cpp
9> example_icons.cpp
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(886): warning C4505: “stbi_failure_reason”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(932): warning C4505: “stbi_set_flip_vertically_on_load”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1064): warning C4505: “stbi_load_from_memory”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1071): warning C4505: “stbi_load_from_callbacks”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1096): warning C4505: “stbi_loadf_from_memory”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1103): warning C4505: “stbi_loadf_from_callbacks”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1111): warning C4505: “stbi_loadf”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1135): warning C4505: “stbi_is_hdr_from_memory”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1149): warning C4505: “stbi_is_hdr”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1173): warning C4505: “stbi_is_hdr_from_callbacks”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1189): warning C4505: “stbi_ldr_to_hdr_gamma”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1190): warning C4505: “stbi_ldr_to_hdr_scale”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1195): warning C4505: “stbi_hdr_to_ldr_gamma”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(1196): warning C4505: “stbi_hdr_to_ldr_scale”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(3845): warning C4505: “stbi_zlib_decode_malloc”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(3866): warning C4505: “stbi_zlib_decode_buffer”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(3877): warning C4505: “stbi_zlib_decode_noheader_malloc”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(3893): warning C4505: “stbi_zlib_decode_noheader_buffer”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(4265): warning C4505: “stbi_set_unpremultiply_on_load”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(4270): warning C4505: “stbi_convert_iphone_png_to_rgb”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(6423): warning C4505: “stbi_info”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(6445): warning C4505: “stbi_info_from_memory”: 未引用的本地函数已移除
5>C:\nanogui_lib\nanogui_lib\lib\nanogui\ext\nanovg\src\stb_image.h(6452): warning C4505: “stbi_info_from_callbacks”: 未引用的本地函数已移除
8> example4.vcxproj -> C:\nanogui_lib\nanogui_lib\lib\nanogui\build\Debug\example4.exe
8> example4.vcxproj -> C:/nanogui_lib/nanogui_lib/lib/nanogui/build/Debug/example4.pdb (Full PDB)
9> example_icons.vcxproj -> C:\nanogui_lib\nanogui_lib\lib\nanogui\build\Debug\example_icons.exe
9> example_icons.vcxproj -> C:/nanogui_lib/nanogui_lib/lib/nanogui/build/Debug/example_icons.pdb (Full PDB)
6> example2.vcxproj -> C:\nanogui_lib\nanogui_lib\lib\nanogui\build\Debug\example2.exe
6> example2.vcxproj -> C:/nanogui_lib/nanogui_lib/lib/nanogui/build/Debug/example2.pdb (Full PDB)
5> example1.vcxproj -> C:\nanogui_lib\nanogui_lib\lib\nanogui\build\Debug\example1.exe
5> example1.vcxproj -> C:/nanogui_lib/nanogui_lib/lib/nanogui/build/Debug/example1.pdb (Full PDB)
7> example3.vcxproj -> C:\nanogui_lib\nanogui_lib\lib\nanogui\build\Debug\example3.exe
7> example3.vcxproj -> C:/nanogui_lib/nanogui_lib/lib/nanogui/build/Debug/example3.pdb (Full PDB)
10>------ 已启动全部重新生成: 项目: ALL_BUILD, 配置: Debug Win32 ------
10> Building Custom Rule C:/nanogui_lib/nanogui_lib/lib/nanogui/CMakeLists.txt
========== 全部重新生成: 成功 10 个,失败 0 个,跳过 0 个 ==========
9、打开 build 目录下的 Debug目录(我这里选择 生成的是 debug ) , 可以看到生成了 很多文件,包括 example1.exe 之类的, 还有dll, 还有lib。 debug, 很多的调试文件。
2020/07/21 09:12 <DIR> .
2020/07/21 09:12 <DIR> ..
2020/07/21 09:12 603,648 example1.exe
2020/07/21 09:12 2,566,584 example1.ilk
2020/07/21 09:12 9,523,200 example1.pdb
2020/07/21 09:12 479,744 example2.exe
2020/07/21 09:12 2,094,408 example2.ilk
2020/07/21 09:12 8,114,176 example2.pdb
2020/07/21 09:12 483,840 example3.exe
2020/07/21 09:12 2,174,368 example3.ilk
2020/07/21 09:12 8,155,136 example3.pdb
2020/07/21 09:12 186,880 example4.exe
2020/07/21 09:12 1,031,136 example4.ilk
2020/07/21 09:12 6,492,160 example4.pdb
2020/07/21 09:12 280,064 example_icons.exe
2020/07/21 09:12 595,868 example_icons.ilk
2020/07/21 09:12 5,066,752 example_icons.pdb
2020/07/21 09:12 3,741,696 nanogui.dll
2020/07/21 09:12 379,970 nanogui.exp
2020/07/21 09:12 15,098,316 nanogui.ilk
2020/07/21 09:12 586,868 nanogui.lib
2020/07/21 09:12 57,389,056 nanogui.pdb
10、执行 exampleX.exe, 。 可以看到 NanoGUI 在github 上的截图了。
------完结------
下一步, 阅读源码。
win10+vs2015编译nanogui的更多相关文章
- win10+vs2015编译caffe的cpu debug版本、部署matcaffe
一.编译caffe 1.安装python-3.5.2-amd64.exe https://www.python.org/ftp/python/3.5.2/python-3.5.2-amd64.exe ...
- win10 + VS2015 编译 ARPACK
step 1: 下载ARPACK , mingw-w64-install 和 mingw-get-inst-20120426.exe: step 2: 安装 MinGW-64默认安装路径即可. ste ...
- VS2015在win10上编译的程序在Win7上运行的方法
在win10系统上使用vs2015编译了一个32位的应用程序.在win7上报错无法启动. 下面的win7系统上是可以运行的 无法运行的win7系统: 报错: 1.应用程序无法正常启动(0xc00000 ...
- win10 vs2015源码编译opencv、opencv_contrib、Tesseract
1.软件包准备 opencv源码包地址: 官网 github opencv_contrib源码包地址: github Tesseract源码包地址: ...
- WIN10+QT5.9+VS2015编译RedisDesktopManager
原文:WIN10+QT5.9+VS2015编译RedisDesktopManager 官方源码编译安装说明地址:http://docs.redisdesktop.com/en/latest/insta ...
- OpenBLAS编译 Debug x64 Win10 vs2015
OpenBLAS编译 Debug x64 Win10 vs2015 >------ 已启动生成: 项目: ZERO_CHECK, 配置: Debug x64 ------ > Che ...
- Hadoop 3.2.1 win10 64位系统 vs2015 编译
Hadoop 3.2.1 win10 64位系统 vs2015 编译 1 环境配置 1.1 JDK下载安装 1.1.1 下载 JDK 1.8 (jdk1.8.0 ...
- [Caffe]Win10+VS2015+CUDA8.0+cudnn5.1环境配置
百度:win10 caffe vs2015 编译caffe.sln工程参见->这里 caffe训练参见->这里 参见->这里 Windows+VS2013爆详细Caffe编译安装教程
- [转]Windows下使用VS2015编译openssl库
转自:http://blog.csdn.net/alger_magic/article/details/52584171 目标:编译vs环境下openssl库 工具: 1. 编译环境win10+vs2 ...
随机推荐
- NCBI SRA数据如何进行md5校验?
下了一些sra数据库中的公共数据,因为pretech和aspera不稳定,稍微大点的文件经常传断,部分文件我只能通过本地下载再上传. 那么问题来了,sra没有md5校验,我怎么知道我数据的完整性,尤其 ...
- R语言与医学统计图形【2】散点图、盒形图
R语言基础绘图系统 基础图形--散点图.盒形图 plot是一个泛型函数(generic method),对于不同的数据绘制不同的图形. par函数的大部分参数在plot中通用. 1.散点图 plot绘 ...
- Pycharm的简单配置和使用
外观 Ctrl+滚轮改变字体大小:file -> Setting ->Editor-〉General -> Mouse: 字体.颜色:file->settings->Ed ...
- Markdown—.md文件是什么?怎么打开?
md全称markdown,markdown也是一种标记语言. md文件其实可以用常用的文本编辑器都可以打开. 用记事本打开,把markdown文件拖到记事本图标上就可以打开 . 用 subli ...
- 【模板】无源汇有上下界可行流(网络流)/ZOJ2314
先导知识 网络最大流 题目链接 https://vjudge.net/problem/ZOJ-2314 题目大意 多组数据,第一行为数据组数 \(T\). 对于每一组数据,第一行为 \(n,m\) 表 ...
- MapReduce02 序列化
目录 MapReduce 序列化 概述 自定义序列化 常用数据序列化类型 int与IntWritable转化 Text与String 序列化读写方法 自定义bean对象实现序列化接口(Writable ...
- day34 前端基础之JavaScript
day34 前端基础之JavaScript ECMAScript 6 尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分.实际上 ...
- flink-----实时项目---day07-----1.Flink的checkpoint原理分析 2. 自定义两阶段提交sink(MySQL) 3 将数据写入Hbase(使用幂等性结合at least Once实现精确一次性语义) 4 ProtoBuf
1.Flink中exactly once实现原理分析 生产者从kafka拉取数据以及消费者往kafka写数据都需要保证exactly once.目前flink中支持exactly once的sourc ...
- 零基础学习java------day11------常用API---Object、Scanner、String、StringBufer/StringBuilder
API概述 API(application Programming Interface, 应用程序编程接口),是一些预先定义的函数.目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力, ...
- 基本类型、引用类型NPE异常
1.null是Java中的关键字,像public.static.final.它是大小写敏感的,你不能将null写成Null或NULL,编译器将不能识别它们然后报错. 2.就像每种原始类型都有默认值一样 ...