最近嘗試著編寫基於qt和glsl的小例子,遇到了一些小問題,在這裡給大家分享一下,希望大家不要重蹈覆轍。
首先,如果出現「error: duplicate function definitions for 「main」; prototype: 「main()」found.」錯誤,如下圖:
這是在鏈結glsl的時候出錯了,大體意思是類似於visualstudio中的lnk2005這樣的錯誤。究其原因,是因為我們正在執行乙個glsl程式,在執行中無法鏈結成功。此時我們需要手動解除安裝我們的著色器,如下面這條語句:
m_shaderprogram.release( );
m_shaderprogram.removeshader( m_pvertexshader );
這樣再使用m_shaderprogram.link( )方法鏈結就不會出現錯誤了。
然後,如果在執行的時候出現「qopenglfunctions created with non-current context」異常,那麼需要注意著色器變數的儲存。我嘗試過,把qopenglshader作為物件作為類例項成員儲存或者作為全域性(靜態)變數儲存都會導致這個錯誤。於是我放棄了建立qopenglshader物件,改為了qopenglshader指標。而qopenglshaderprogram則沒有這個限制。
其實最佳實踐是,使用qopenglshaderprogram的例項作為類的資料成員,qopenglshader的指標作為類的資料成員。
Qt編寫OpenMP程式 HelloWorld
本程式是在ubuntu linux環境下編寫成的。這裡包括c 語言程式和c語言程式,兩者在qt專案設定引數上略有不同,需要注意。openmp提供並行描述,可以充分使用計算機系統的cpu資源。step1.建立qt的c 專案,專案檔案如下 config console c 11 config qt qm...
基於Qt的生命遊戲程式
軟體工程課程的課程實踐專案之一,總的來說是毫無實用性的玩具程式。原始碼見此 不過在編寫的過程中較為有意識的使用了軟體工程方面的知識 起碼將程式分為了三個模組,並且努力的降低了耦合性。站在本人的角度上來講,是對軟體工程的一次實踐,美中不足的地方在於沒有事先編寫需求說明文件 設計用例,並使用uml云云。...
編寫Python程式訪問需要cookie的網頁
有些網頁需要你登入之後才可以訪問,你需要提供賬戶和密碼,其實用python寫程式來訪問還是蠻簡單的,就是對cookie的儲存而已 比如我在 www.bokee.com 部落格網上註冊了帳號test51,密碼11111 如果想訪問登入後才可以訪問的網頁,那麼程式似乎可以這樣寫 這樣做之後cookie就...