Posted on 2017-01-25 21:59
劍孤寒 閱讀(1555)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
Galaxy2D 游戲引擎發(fā)布
最近用了一下vs2015,感覺(jué)很不錯(cuò),于是把引擎的工程也升了一下級(jí),
升級(jí)過(guò)程非常順利,只是有兩個(gè)小問(wèn)題:
1.編譯出來(lái)的dll如果用upx壓縮,在win8/10系統(tǒng)下不會(huì)調(diào)靜態(tài)變量的構(gòu)造函數(shù),從而導(dǎo)致程序崩潰,猜測(cè)可能是新加的線程安全靜態(tài)變量初始化功能弄的,所以為了保證兼容性,以后的引擎將不再使用upx壓縮了
2.不知道為啥,vs2015總是執(zhí)著的在解決方案目錄下自動(dòng)生成一個(gè)空的"Debug"目錄,手動(dòng)刪除后過(guò)一段時(shí)間又會(huì)出現(xiàn),只好將這個(gè)目錄設(shè)成隱藏,眼不見(jiàn)為凈
升級(jí)到VS2015后發(fā)現(xiàn)Qt4.7編譯不過(guò)了,順便把QT也升級(jí)了一下,
不過(guò)升級(jí)QT就不那么順利了,遇到一些很蛋疼的問(wèn)題,我差點(diǎn)以為我下載了假的QT...
1.使用configure配置QT時(shí),如果寫錯(cuò)了參數(shù),無(wú)法重新配置,也無(wú)法用nmake confclean清除配置,只能重新解壓源碼再來(lái)一次(為了加上對(duì)XP的支持,解壓了幾十遍源碼ORZ...)
2.盡管代碼可以支持XP,但新版QT并沒(méi)有XP的配置選項(xiàng),本來(lái)可以簡(jiǎn)單的修改配置文件來(lái)支持XP,但是可能為了防止使用者修改配置在XP上運(yùn)行,會(huì)在另一個(gè)配置文件把修改后的支持XP的參數(shù)改回去,簡(jiǎn)直太陰險(xiǎn)了
3.編完后發(fā)現(xiàn)尼瑪,居然沒(méi)有自動(dòng)編譯文檔(此處省略10086只草泥馬...)
4.除了文檔外,這個(gè)新版的QT也不會(huì)自動(dòng)生成VS工程了,這也就算了,關(guān)鍵那個(gè)qt.pro是有問(wèn)題的,手動(dòng)轉(zhuǎn)成vs工程會(huì)有些配置錯(cuò)誤,可以用VS打開(kāi)看代碼,但并不能編譯
5.把我最愛(ài)的QCleanlooksStyle刪掉了,新的Style難看得要死,還會(huì)把界面搞錯(cuò)位,害我把之前的界面全部重調(diào)了一遍(此處繼續(xù)省略10086只草泥馬...)
6.渲染上有個(gè)坑,需要加上setAttribute(Qt::WA_NativeWindow),否則收不到paintEvent(QPaintEvent * event)回調(diào),之前的版本是不需要的
7.QtDesigner還是原來(lái)的配方,該有的bug一個(gè)沒(méi)少,新功能一個(gè)沒(méi)多,難用的地方依然難用
8.在C++庫(kù)這塊新版QT并沒(méi)加啥新功能,跟之前版本相比最大的變化是編譯后大了好幾G,閑的蛋疼的調(diào)整了include目錄,將原來(lái)的一個(gè)lib拆分成n個(gè),然而除了給使用者帶來(lái)麻煩之外并沒(méi)有什么卵用