显示标签为“开发”的博文。显示所有博文
显示标签为“开发”的博文。显示所有博文

2010年12月27日星期一

wxWidgets 多平台开发心得

不得不承认C++跨平台开发是有一定难度的,即使有wxWidgets这么好的库。


首先要考虑文件系统方面的差异:



  • 1.Ubuntu下面C++的源代码使用UTF8无BOM格式,换行符为n, 而在XP下面则为ansi编码,换行符为rn,源代码要进行转换。

  • 2.Ubuntu下面路径分隔符为/,而xp下面则为, 一定要注意在字符串中此字符表示为"",可以用wxFILE_SEP_PATH宏统一起来


其次是一些函数不同平台下实现细节的差异



  • 1.在ubuntu下获取Report格式的listctrl某一列的text 代码如下

    wxListItem info;
    info.SetId(row);
    info.SetColumn(col);
    list->GetItem(info);

    而在xp中必需在list->GetItem(info) 之前设置item的text码:info.SetMask(wxLIST_MASK_TEXT);

  • 2.wxDC类中设置放大系数和正负逻辑方向的一些不同,参见以前的有关讨论。