一 问题背景
Qt项目开发,项目规模较小,4个人搞定,开发环境为windows+Qt 4.7.0+vs2008+mysql 5
2012.2交付客户内测,客户环境为Solaris10。交付给用户的文件共7个模块,所有模块都在windows下成功编译运行,但用户在solaris下只有3个能编译通过。编译不能通过原因有pro文件内容不正确,有linux/unix对大小写敏感,这些均比较好解决,就是以下这个问题解决时候废了点功夫
二、问题描述
在solaris或linux下编译时,pro文件为自己写的。编译过程用qmake , make命令。 编译时候会出现错误:错误:qgl.h:没有那个文件或目录。
三 问题解决
#法一:更改头文件中的include路径
上网查找,一种方法说:在.h文件中这样包含头文件:#include 也就是你安装qt4的路径 (这里include 包含的直接就是在linux或unix下的qt的库的目录的绝对路径),得到启发,去windows下看qt的安装目录下(C:\Qt\4.7.0\include),里面有一个QtOpenGL文件夹,QtOpenGL下包含qgl.h文件。 其实这里的qgl.h中的内容是:
#include "../../src/opengl/qgl.h"。其实就是C:\Qt\4.7.0\src \opengl下的 qgl.h源文件。
所以,为了在solaris下编译通过,不提示:“错误:qgl.h:没有那个文件或目录”。故在源代码中,将 #include
#法二:在pro文件中指定包含的库路径