歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu下QtOpenGL無法正常使用GLU庫的解決方法

Ubuntu下QtOpenGL無法正常使用GLU庫的解決方法

日期:2017/2/28 15:45:18   编辑:Linux教程

在Windows下寫好且編譯通過的QtOpenGL程序拿到Ubuntu下編譯,如果使用從Ubuntu軟件中心中提供的4.6版本的Qt進行編譯則完全沒有問題,而使用從諾基亞官網上下的4.7版本的QtSDK卻總是提示glu庫中的相關接口不存在,可是我明明已將GL、GLU等庫裝好了。這個問題我在好幾個機子上都遇見過,通過實驗得到以下幾種解決方法:

一、 修改makefile文件

某個庫的接口不被識別的最可能的原因是沒有包含該庫的頭文件,可以嘗試將

#include<GL/glu.h>

加到每一個使用GLU庫的CPP文件前,結果發現還是無法使用GLU庫,而後發現使用qmake根據 *.pro 生成的 makefile 的 LIBS 這一項中只包含了GL庫而沒有包含GLU庫,這才是症結所在,於是可以簡單的將 makefile 中 LIBS 這一項中加入 -lGLU 即可解決這個問題,之後的編譯就完全沒有問題了。

這種方法實現的前提是在每一個使用GLU庫的CPP文件前#include<GL/glu.h>,可以將#include<GL/glu.h>添加到Qt/qgl.h中來避免反復添加。

二、在*.pro文件中注明對GLU庫的使用

既然Qt的 makefile 是根據 *.pro 生成的,完全可以通過在 *.pro 添加對GLU庫的鏈接來自動生成鏈接了GLU庫的 makefile 。 *.pro 中通過 LIBS 來標注工程所要鏈接的庫,可以在 *.pro 中加入

LIBS += -lGLU

來指明對GLU庫的鏈接。當然www.linuxidc.com這種方法實現的前提也是在每一個使用GLU庫的CPP文件前#include<GL/glu.h>,可以將#include<GL/glu.h>添加到Qt/qgl.h中來避免反復添加。

三、 正確安裝相關的OpenGL庫

既然Ubuntu 軟件中心中提供的4.6版本的Qt下完全不需要如此麻煩地修改相關文件,而且在我的老筆記本電腦上,當時稀裡糊塗地裝了一大堆GL相關的各種庫,結果竟然就不需要再進行以上兩步。可見主要問題還是在於GLU庫的安裝與配置問題,正確地安裝和配置相關OpenGL庫和Qt才是根本解決之道。

然而說實在具體應該如何配置我現在也不是非常清楚,而Qt已不再是當前的首要學習任務,所以也就未加以深究。等到以後什麼時候閒下來把這個問題好好研究一番後再對本文進行進一步完善,因此此處暫且省略若干字。。。

Copyright © Linux教程網 All Rights Reserved