1. 程式人生 > >Qt 4.8.x 升級到Qt5.x的各種坑

Qt 4.8.x 升級到Qt5.x的各種坑

Qt5 已易主, 腦殘的事情也乾的越來越多.

看qt下載頁的Qt的windows版本預設提供32位和64位, 那個啥opengl版暫時未理會

因為本人系統是win7 64bit, 因此毫無理由的下載了64位的qt5.2版本. 編譯了hello world, 結果報錯:

module machine type 'x64' conflicts with target machine type 'X86'

找了半天沒查到錯誤, 後面注意到vs2012的工程編譯型別選擇的是win32 x86, 才想起是由於qt5的所有lib是64位編譯, 而我使用32位的程式去連結, 當然要報錯.

重新下載32位的qt5.2, 編譯正確

另外一個錯誤也是在前面版本極為少見的:

fatal error C1083: Cannot open include file: ’GLES2/gl2.h’: No such file or directory

很多人的解決方法是包含QtANGLE下的gles2目錄, 但是由於我的工程內的cocos2dx本身也帶有這東西. 於是研究了下為啥這版本的qt預設要搞的非要和gles有關係

最終, 發現可以通過定義QT_NO_OPENGL巨集來遮蔽opengl的渲染API使用, 編譯通過

很是懷念諾基亞時代的qt, 下載,編譯一氣呵成