mac上用cocoa做imshow,资料似乎不好找,即便找到也需要和OC混编,而不是纯C。这不够纯粹。考虑用opengl做通用的、跨平台的imshow。先入门一下opengl,从glfw官方例子入手。

glfw版本

3.3,下载源码基于cmake+vs2017(注意指定CMAKE_PREFIX_INSTALL),release模式,执行INSTALL目标。

glfw官方例子

https://www.glfw.org/docs/latest/quick_guide.html

glad

看了上面的官方例子文档,原以为要手动下载glad,后来发现其实就是glfw源码中example/simple.cdeps/glad_gl.c,把这两个文件放到新建工程的src目录下即可。

cmake脚本

CMakeLists.txt:

cmake_minimum_required(VERSION 3.14)

project(opengl_imshow)

include_directories(
"F:/zhangzhuo/dev/glfw-3.3/build/vs2017-x64/install/include"
"F:/zhangzhuo/dev/glfw-3.3/deps"
"F:/zhangzhuo/dev/glad/include"
)
link_directories("F:/zhangzhuo/dev/glfw-3.3/build/vs2017-x64/install/lib") add_executable(imshow
src/simple.c
src/glad_gl.c
) #target_link_libraries(imshow glfw3 glfw3dll opengl32)
target_link_libraries(imshow glfw3 opengl32)

运行结果:

glfw之hello world的更多相关文章

  1. Swift 3 and OpenGL on Linux and macOS with GLFW

    https://solarianprogrammer.com/2016/11/19/swift-opengl-linux-macos-glfw/ Swift 3 and OpenGL on Linux ...

  2. GLFW初体验

    GLFW - 很遗憾,没有找到FW的确切含义,Wiki上没有,GLFW主页也没有.猜测F表示for,W表示Window GLFW是干啥用的? 一个轻量级的,开源的,跨平台的library.支持Open ...

  3. Xcode环境下OpenGL C++ GLFW开发环境搭建

    操作系统版本:MacOS Mavericks 10.9.2 Xcode版本:5.0.1 OpenGL版本:4.10 GLFW版本:3.0.4 一.GLFW编译 1.下载并安装cmake(当前最新版本为 ...

  4. OpenGL2.0及以上版本中glm,glut,glew,glfw,mesa等部件的关系

    OpenGL2.0及以上版本中gl,glut,glew,glfw,mesa等部件的关系 一.OpenGL OpenGL函数库相关的API有核心库(gl),实用库(glu),辅助库(aux).实用工具库 ...

  5. GLFW is an Open Source, multi-platform library for OpenGL

    http://www.glfw.org/ http://download.csdn.net/user/hengyishu

  6. GLFW库文件配置

    VS2012+windows8下面,vs的默认路径在C:\Program Files(x86)\Windows Kits\8.0 下. 将include\GLFW里.h文件加入vs路径Include\ ...

  7. [OpenGL]配置GLFW

    注:本文可转载,转载请著名出处:http://www.cnblogs.com/collectionne/p/6937644.html.本文还会修改,如果不在博客园(cnblogs)发现本文,建议访问上 ...

  8. Mac 上的 GLFW 环境配置

    背景:GLFW 一.下载和编译 从官网下载源代码包:http://www.glfw.org/download.html (我下载的是 github 仓库上的) 按官方指南编译.总结如下: cd glf ...

  9. Mac平台Clion配置GLFW+GLAD的项目

    前期的准备工作详见LearnOpenGL CN 看这篇教程的前提是假设你已经编译好了GLFW文件夹以及下载好了GLAD,不会的话可以看我的另一篇 文章的前部分: 配置 Clion新建一个项目,CMak ...

  10. clion中配置glfw和glew

    clion中只能用cmake文件配置 最开始不清楚cmake语法走了不少弯路 如果遇到symbol(s) not found for architecture x86_64错误,百分百是cmake没配 ...

随机推荐

  1. 运行应用-使用Deployment运行无状态应用程序

    以下介绍如何使用kubernetes的deployment对象运行应用程序. 目标 - 创建nginx deployment. - 使用kubectl列出有关部署的信息. - 更新部署 创建和探索ng ...

  2. phpspreadsheet 中文文档(六)读写文件+读取文件

    2019年10月11日14:05:58 读写文件 从体系结构您已经知道,使用基本PhpSpreadsheet类无法对持久性存储进行读写.为此,PhpSpreadsheet提供读者和作家,这是实现\Ph ...

  3. ubuntu16.04+cuda8.0+cudnn6.0安装mxnet(极简!+成功!)

    安装MXNet 1.安装 CUDA8.0对应的mxnet版本是mxnet-cu80(同理如果是CUDA9.0对应版本则是mxnet-cu90). 如果pip安装过慢,请参考 Ubuntu16.10下配 ...

  4. java-完全解耦-例子

    class filter{ public String name(){ return getClass().getSimpleName(); } public String process(Strin ...

  5. spring mvc 处理pojo传递对象时该对象继承父类的属性在网络接收端接收该属性值总是null,why?

    //=========================== 情形一: ===============================//在网络上传递User1类对象时info属性值在网络的另一端能够接 ...

  6. SpringBoot应用部署到Docker上(docker-ce版本)

    配置TCP远程连接(docker-maven-plugin插件连接的地址) # 加上红色标识的部分[root@localhost admin]# vim /lib/systemd/system/doc ...

  7. ajax中如何使用全局变量?

    在ajax中一般都是采取默认的异步请求,但是有时候参数是需要做到全局通用,这时候发起同步请求. 如下: $.ajax({ type:"post", url:"url路径& ...

  8. python ---socket初识

    python网络编程(初识) 一些概念 套接字: 套接字(socket)也叫通信端点,最初用于计算机内部进程之间的通信,而随着网络的发展,套接字被用于计算机之间的通信.举个例子,你(是一台计算机)要打 ...

  9. Go 关键字Select

    select select 是Go语言中常用的一个关键字,Linux再也早也引入了这个函数,用来实现非阻塞的一种方式,一个select语句用来选择哪个case中的发送或接收操作可以被立即执行.它类似于 ...

  10. Akka-CQRS(9)- gRPC,实现前端设备与平台系统的高效集成

    前面我们完成了一个CQRS模式的数据采集(录入)平台.可以预见:数据的产生是在线下各式各样的终端系统中,包括web.桌面.移动终端.那么,为了实现一个完整的系统,必须把前端设备通过某种网络连接形式与数 ...