编译GSLSDevil的全过程

?

GLSLDevil是调试OpenGL程序的工具。

GLSLDevil的新版本已经改名为GLSL-Debugger, github的地址在这里:http://glsl-debugger.github.io/

从github下载zip文件,解压缩, 目录结构如下:

然后按照github上的build步骤来编译。我的编译环境是Windows7, Visual Studio2013.

详细的build过程如下:

  1. 首先在解压的文件夹的同级目录常见一个空文件夹,名字为build.

  2. 安装winflexbison,下载地址如下:

https://sourceforge.net/projects/winflexbison/

????下载zip文件后解压缩,文件夹的结构如下:

????里面并没有安装文件,所以需要在下面的步骤中的CMAKE文件中进行一些设置。

  1. 下载GLEW:

    从这个网址下载zip文件:http://glew.sourceforge.net/

    解压后的目录结构如下:

    将这个文件夹拷贝到GLSL-Debugger\GLSLCompiler目录下:

    由于这个路径的结构有点问题,所以需要将glew-2.0.0\lib\Release\Win32中的glew32.lib拷贝到lib目录下。

    注意要从WIN32目录下拷贝,而不是X64目录下拷贝,否则后面Visual studio编译的时候会出现找不到方法的错误,原因应该是WIN32的lib和X64的lib中定义的方法不一样。

    ?

  2. 更改CMakeList.txt来指定BISON和GLEW的路径。

    1. GLSL-Debugger\GLSLCompiler\glslang\MachineIndependent\CMakeList.txt

      find_package(BISON 2.7 REQUIRED)

      find_package(FLEX REQUIRED)

      的前面加:

      list(APPEND CMAKE_PREFIX_PATH "${PROJECT_SOURCE_DIR}/GLSLCompiler/win_flex_bison-latest")

      ?

      这一步的目的是将win_flex_bison的文件夹加到CMAKE的前缀路径中,这样CMAKE在执行的时候能够在这个文件夹中搜索到flex和bison的相关文件。

      ?

    2. GLSL-Debugger\glsldb\CMakeList.txt:

      find_package(GLEW REQUIRED)

      的前面加:

      list(APPEND CMAKE_PREFIX_PATH "${PROJECT_SOURCE_DIR}/GLSLCompiler/glew-2.0.0")

      ?

      ?

      (如果第3步中没有将 glew32.lib拷贝到lib目录下,这里需要设置lib的路径才可以)

      ?

  3. 安装QT4.X

    我安装的是 QT4.8.6, 在这里下载的: https://download.qt.io/archive/qt/4.8/4.8.6/

    下载后一步步点击安装即可。

  4. 下载mhook。 GLSL-Debugger文件夹下已经有了一个空的文件夹,需要通过git或者svn下载到这个文件夹。下载网址为:https://github.com/SirAnthony/mhook

    ?

  5. 官网上说要下载freeglut. 我下载下来了,(下载地址: http://www.transmissionzero.co.uk/software/freeglut-devel/ ),解压后文件夹结构如下:

    好像实际并没有用,忘了。好像是因为我配置了glew就不用这个了。

  6. 然后按照GLSL-Debugger网站上的步骤执行如下操作

    1. 用管理员身份打开Developer Command Prompt for VS2013.
    2. Cd到build目录。
    3. 执行 cmake ../GLSL-Debugger。

    上述步骤完成后,会在build文件夹下面产生一个Visual studio的解决方案,名字为glsldb.sln.

  7. 用管理员身份打开解决glsldb.sln.

    然后点击Rebuild solution, 就会在build\bin\Debug中出现一些可执行文件,其中的glsldb.exe就是我们需要的GLSL Debugger的程序。

    当然,在编译的时候可能遇到问题。我当时遇到了如下的问题:

    1. Glsldb 项目编译报错,提示方法没有声明,手动指定了glew32.lib的路径后解决。

      (重要:这里需要注意的是,如果要改, Debug和Release的配置都要改,改了Debug, Release的配置不会自动改。这样编译出来的应用程序可能会有问题。)

    2. 编译后打开glsldb.exe, 会提示QTGLSLT4.dll找不到,将QT的路径加到环境变量里就解决了。

    3. 提示找不到glew32.exe, 将glew的bin目录加到环境变量里就解决了。

      ?

      ?

  8. 所有问题都解决后,打开build\bin\Debug文件夹

    点击glsldb.exe.

    ?

    大功告成!

    (如果Debug配置下编译出来的程序用起来有问题,可以试试用Release配置再编译一下,用Release版本的程序,可能会好用了。)

时间: 2024-10-10 16:48:26

编译GSLSDevil的全过程的相关文章

CM13 for i9100编译

1. 系统要求 笔者使用的环境为CentOS-7-x86_64, 用来为i9100编译CM 13,之所以选择最新版的CM是发现编译CM 9.1.0时遇到了无法解决的问题需要说明的是必须使用64的系统, 而且配置越高越好 先介绍两个非常有用的命令:查看当前目录下各文件夹包含文件的大小 $ du -h --max-depth=1 .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas,

Linux CentOS 7 安装PostgreSQL 9.5(源码编译)

前言 之前的博客记录了通过rpm包的形式安装PostgreSQL 9.3(Linux CentOS 7 安装PostgreSQL 9.3(发行版本)),本篇blog将记录一下通过源码编译的形式安装PostgreSQL 9.5. 下载 在postgresql的官方即可找到源码文件目录,地址如下:https://www.postgresql.org/ftp/source/,在下载列表中根据需求选择版本,如下图: 进入子目录后,可以看到文件列表: 如上图,可以看到提供了两种压缩格式,此处我们选择pos

当CanTK遇到PhoneGap

有朋友问能不能在CanTK和AppBuilder开发的APP里发送UDP数据,HTML5里只能用HTTPS/HTTP/WebSocket几种通讯方式,要使用UDP需要通过phonegap打包成APK等特定平台的安装包.所以花了点时间写了篇文档介绍PhoneGap打包CanTKAPP的过程. 下面以一个UDPDemo为例,介绍Linux下phonegap编译APK的全过程(Fedora 20). 0.安装必要的软件包 ant npm java android-sdk 1.加入android sdk

Ubuntu下编译Android JNI实例全过程

第一步:保证make和gcc可用 在shell中输入make-v,不报错就是对的.(可参考http://wenku.baidu.com/view/d87586c24028915f804dc24a.html.) 在shell中输入gcc-v,不报错就是对的. 第二步:安装NDK 下载NDK后,设置环境变量: 将android-ndk的路劲加到环境变量PATH中:sudogedit /etc/environment 然后再让这个更改的环境变量立即生效:source /etc/environment

Linux 下编译并安装配置 Qt 4.53全过程

最近准备做 Nokia 的 Symbian,Maemo 下触摸屏开发.考虑到程序的跨平台可移植性,最终选择使用 Qt 开发.相对来说,国内关于 Qt 相关文档并不算很多.作者将 Linux 下编译并安装配置 Qt 全过程总结了一下,只希望可以方便更多的朋友! 1.获得源代码         src 官网下载地址:ftp://ftp.qt.nokia.com/qt/source/        2009 年 10 月 1 日发布的 qt-x11-opensource-src-4.5.3.tar.g

【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程

原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一直很给力的,但这次让我伤心欲绝啊. 关于Linux(ubuntu14.04)上编译Android源码的环境搭建详细过程都是在sublime text中编辑好的,无奈,这次的数据丢失让我不得不重新来回想手打一次了.可能很多细节问题,这次重新编辑文章时不会记得那么清晰了,还请有问题的朋友在下面留言给我就

C语言编译全过程【转】

http://www.linuxdiyf.com/viewarticle.php?id=175655 编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序. 编译的完整过程:C源程序-->预编译处理(.c)-->编译.优化程序(.s..asm)-->汇编程序(.obj..o..a..ko)-->链接程序(.exe..elf..axf等) 1.

Linux下C语言的编译全过程解读

Linux下C语言的编译全过程解读 我们总是在Linux下输入 gcc -o app main.c 即可编译好程序,对于具体的详细过程及流程,相信亲们就不太了解啦!下面给大家展示一下C编译器的解释全过程. Linux下编辑调试工具: gcc gdb  ,把高级语言编译成二进制可执行代码的工具. 把高级语言编译成二进制可执行文件的过程如下: 需要经历四个步骤: (1)预处理:去掉注释,进行宏替换(#define相关),头文件(#include)包含等工作. gcc–E test.c –o test

Linux 下编译C程序的全过程

学习一门语言程序,本人觉得还是得学习它的编译规则,现在,通过小例子小结下自己对C编译的认识. ? 1 2 3 4 5 6 7 8 /*test.c   了解C程序的编译*/ #include <stdio.h> int main(void) {  printf("Hello World!\n");  return 0; } 对于test.c,我们常用一步编译到位的命令是: ? 1 gcc -o test test.c 或者 gcc test.c -o test 实际上,上面