VS15 openGL 編程指南 配置庫 triangle例子
最近去圖書館借了一本書《OpenGL編程指南(原書第八版)》,今天倒騰了一天才把第一個例子運行出來。
所以,給大家分享一下,希望能快速解決配置問題。
一、下載需要的庫文件
首先,我們需要去該書的網站中下載相關的配置文件,書中給的是“紅寶書”的官方網址:http://www.opengl-redbook.com/
但現在已經更新至第九版,裏面的庫不是很完整,不適宜用於此書示例。
所以我們要找一個第八版的資源:http://pan.baidu.com/s/1kVpv1MR
下載完之後,我們先把main函數做一些修改,因為,原書的代碼有點不完整
int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA); glutInitWindowSize(512, 512); glutInitContextVersion(4, 3); glutInitContextProfile(GLUT_CORE_PROFILE); glutCreateWindow(argv[0]); glewExperimental = GL_TRUE; //添加 if (glewInit()) { cerr << "Unable to initialize GLEW ... exiting" << endl; exit(EXIT_FAILURE); } init(); glutDisplayFunc(display); glutMainLoop(); }
還要在工程目錄下創建兩個文件
triangles.frag
#version 430 core out vec4 fColor; void main() { fColor = vec4(0.0, 0.0, 1.0, 1.0); }
triangles.vert
#version 430 core layout(location = 0) in vec4 vPosition;void main() { gl_Position = vPosition; }
二、配置相關的庫
先展示一下剛剛下載的壓縮文件
其中include/GL/ 下面是有9個文件的,很全。如果下載的是第九版的話那麽就只有兩個文件,不完整。
確定文件齊全之後,我們開始配置相關的庫。
在你的項目-》屬性-》
在包含目錄中添加進你下載的那個文件夾中的include目錄:比如我的是:D:\新建文件夾\新建文件夾\新建文件夾\新建文件夾\openGL\oglpg-8th-edition\include
在庫目錄中添加進你下載的那個文件夾中的lib目錄:比如我的是:D:\新建文件夾\新建文件夾\新建文件夾\新建文件夾\openGL\oglpg-8th-edition\lib
然後再把下面這個設置一下:
這樣在debug或rrelease編譯模式下都能把libcmtd.lib這個庫忽略掉
最後一點,VS2015更改了很多標準庫的鏈接方式和宏定義,而紅寶書第八版中用到的freeglut庫中用到了這些標準庫和宏。所以如果報_sscanf或者__iob_func是無法解析的外部符號之類的錯誤,你可以打開如下設置:
點開那個下拉,如果你有低於15的版本,那麽選那個低版本的,如果只有15版本的話,請往下看
來自:https://blog.csdn.net/csdn1027192411/article/details/52064732 的解決方案,如下:
然後在工程的cpp文件首,插入如下代碼即可
#if _MSC_VER>=1900 #include "stdio.h" _ACRTIMP_ALT FILE* __cdecl __acrt_iob_func(unsigned); #ifdef __cplusplus extern "C" #endif FILE* __cdecl __iob_func(unsigned i) { return __acrt_iob_func(i); } #endif /* _MSC_VER>=1900 */
到現在應該就可以運行了。
如果不想用提供的庫,想要自己下載,也可以
這裏有完整的OpenGL所需的庫:https://www.cnblogs.com/zpcdbky/p/6724772.html
不過,第八版的資料裏的include裏面也很完整~
感謝您的閱讀,生活愉快~
VS15 openGL 編程指南 配置庫 triangle例子