MacDev 板


LINE

※ 引述《gz ()》之銘言: : 用了wx當作Framework開發了幾個月了, 感覺還算不錯 : 也自己寫了幾個widgets供專案使用. : 官網是有幾個Mac OS X的screenshots, : 但還是想請教一下有沒有人用wx來開發wxMAC的port? 沒有想像中的無痛 : 可以分享一下字元編碼與各平台間porting的經驗嗎? : 有打算把程式 port到Mac上面用 : 麻煩的地方是charset, multithread, socket, 沒錯 : 還有在下本身"完全沒有"Mac的"使用經驗":p 1. 先檢查你要用的 widget 在 wxMac 有沒有實做 wxWidgest 中實做完成度最高的是 wxMSW,其次是 wxGTK, wxMac 我當初用的時候 還算滿陽春的,因為開發者太少。 wx 官網有一張大 table,解說各種 widget 在各平台的支援狀況, 要小心的陷阱就是.... 不是每個 class 在每個 OS 都有, 像 wxGTK 就沒有 wxTabCtrl,因為底層 gtk+ 沒有這個元件。 2. 你要先想好用啥 encoding, 是 unicode or ANSI,用 unicode 可能比較無痛 但是.... 即使是 unicode 版本,有些地方 wxMac 內部仍然使用 ANSI 實做 不保證全部都可以正常運作 (我不知道線再有沒有改善)。 3. 如果你有寫自己的視窗元件,要小心文字輸入。 除 wx 提供的文字輸入元件之外 其他視窗元件,包含你繼承 wxControl 寫的,都無法接收輸入法的輸入 這部份需要自己 hack wxMac,但是 hack 完仍然是不正常 4. wxMenu 部份,因為 mac 的選單跟別的系統都不一樣,所以有些限制 如果你在 wxMenubar 建立之後,才修改裡面的 menu 內容,可能會沒效 選單內容是不會即時更新的.... 5. wx 的字型選取對話框在 Mac 沒有正確實做,無法使用中文字型 (不知道改善了沒) 如果有需要請自己重寫一個 6. wx 的 i18n 機制和 Mac 原生的機制格格不入,有可能不會按照你預期的方式運作 沒有經過修正的 wxMac 我印象中無法正確載入 *.mo 翻譯檔來翻譯介面。 我當初是自己用 hack wxMac 搭配 Carbon API 硬強迫他載入... 7. Mac 程式的打包和發行方式和 UNIX 程式完全不同,需要先閱讀 Apple 的文件 正確的建立 Mac 要求的目錄結構。 事實上弄起來相當麻煩.... 而且不保證可以動 讓 wxMac 程式在 Mac OS X 正確變成一個 *.app 的 package 是大工程 沒有 *.app 的結構的話,根據經驗執行檔視窗無法取得輸入焦點 8. Mac 的 gcc 和其他平台有些參數並不能相容,請詳閱其文件,視需要修改之 當初因為不明原因,在 XCode 當中無法正確 build,最後直接用 console 成功 9. socket 支援部份 wxMac 的可以正常使用,我有用過 10. multi-threading 部份我沒有用過,但是我猜他是用 POSIX thread 所以應該要可以動 11. 如果要存取 Mac 的檔案,可能要小心檔案名稱的編碼和程式使用的編碼可能不同 必要時可能要轉 utf-8...... 用 Cocoa 可能沒這種麻煩 12. 因為是使用 C/C++,所以只能透過 Carbon API 和 Mac 互動 無法使用比較先進的 Cocoa。 如果你有看過 Carbon API 的文件..... 說真的,那是我看過最難學的 API..... 比較會用到的可能是 CF 開頭的 Core fundation 部份,複雜到非常誇張..... 我上次只是簡單要做個取得執行檔所在目錄,就花了十幾行吧 每個函數、參數,都有超過 20 ~ 30 個英文字元的長度,會死人.... 以上,是個人過去被 wxMac 惡整,留下的殘存記憶 wxMac 沒有表面上看起來的好玩啊........ -- 個人網頁: http://pcman.sayya.org/ 上面有自畫像及各種聯絡資訊 PCMan 全系列 BBS 連線軟體 http://pcman.ptt.cc/ http://pcmanx.csie.net/ 新酷音輸入法 for Windows http://chewing.csie.net/ IE Tab Firefox plugin/extension http://ietab.mozdev.org/ PCMan 油畫作品集:http://www.wretch.cc/album/album.php?id=pcman&book=1 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.59.75
1F:推 gz:太感謝了, 幾乎道盡我所有的疑惑 10/02 19:46
2F:推 toki:啪啪啪啪 \O/ Good Job :P 10/02 19:49
3F:→ captdavince:天阿..太強了..本人出現>"< 10/03 17:28







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP