【无标题】

vs配置freeglut+glew

vs配置freeglut+glew

以前配置opengl大多稀里糊涂地配置,有时候用别人现成写好的cmake来配,但是很多cmake里的内容为什么这么写并不理解,因此遇到很多很好的开源项目也没办法使用。因此还是决定来学习一下vs手动配置glew+freeglut。下面是一些参考使用的链接

freeglut+glew

OpenGL学习 环境搭建Clion+glew+freeglut+mingw.使用这个链接中提供的下载地址下载了freeglut和glew的64位版本。

接下来我没有选择cmake而是选择在vs中进行手动配置,打开项目属性,在VC++目录中找到包含(头)目录、库目录,输入自己下载库的路径;在链接器的输入中找到附加依赖项,输入库名(具体做法可以类比这个链接中的六、c)。

opengl32.lib 
freeglut.lib
glew32.lib

事实上以上手动配置过程与下面的cmake内容是一一对应的

cmake_minimum_required(VERSION 3.15)
project(Graph)

set(CMAKE_CXX_STANDARD 14)

link_directories("F:/freeglut/lib/x64")
link_directories("F:/glew-2.1.0/lib/Release/x64")

include_directories("F:/freeglut/include")
include_directories("F:/glew-2.1.0/include")

add_executable(Graph main.cpp)
target_link_libraries(Graph libopengl32.a  libfreeglut.a glew32.lib)

接下来导入glew和freeglut的dll文件,都放在项目的根目录下即可。

仍然使用OpenGL学习 环境搭建Clion+glew+freeglut+mingw中的测试例子,最终成功画出了一个三角形。

  • opengl32.lib是windows自带的,应该在vs搜索目录里就存在,因此不需要再包含与链接,另外opengl32是64位的
  • freeglut与glew库需要附加依赖库&导入dll,因为他们是动态库(linux下又叫共享库),但是并不是所有库都需要,比如eigen。

一开始看到我下载的开源项目里使用win32,并且include了<glut.h>,以为要使用glut.h库,专门找来了各种glut资源尝试(glutglut库很早就不推荐使用了,只有32位版本的,我还一度把项目配置的cuda改成32位,但是仍然没配置好),后来看到这个链接才知道feeglut是glut的一个开源版本,64位的程序直接配置freeglut就好了。

glad+glfw

这一块可以直接参考learnopengl的前四小节,即使不使用该方案,这个配置教程也对新手十分友好,可以一试。

一些其他学习到的东西:

  • 静态库的两个缺点是空间浪费和全量更新,动态库(共享库)都能解决。参考链接
  • 另外还有一点,在配置复杂的开源项目时,如果配置失败需要把它拆解成小问题,先进行单个库的配置。
上一篇:【转】Python模块学习 - fnmatch & glob


下一篇:Typescript express 新手教程 S7 惊,木地板数据库用不了where,select,order by竟是因为这个