wxWidgets编译后默认文件名的格式,以wxMSW2.8.8为例:wxmsw28u_vc.dll,文件名很长,看起来不太舒服。那么有什么方法可以更改呢?通过研究config.vc和makefile.vc,发现可以通过修改makefile.vc来做到。
使用VC2003编译器,编译wxWidgets库后的体积比较大,而如果在编译时加入适当的选项,可以减小库的体积。所测试可减小30%左右。
在用wxWidgets编写一个支持多国语言的Unicode程序时,发现一个问题:如果这么写代码:
wxTextCtrl* info = new wxTextCtrl(this, wxID_ANY,_("本软件目前支持Windows、Linux平台,"
  "Windows平台主程序:pmoney.exe ,Linux平台主程序:pmoney ,请在不同不同执行不同的主程序。"...
的话,_()宏会出现编译错误:
src\about.cpp|21|error C2308: concatenating mismatched wide strings|
在Windows平台下用VC编译器时没有任何警告信息,但在Linux下使用GCC编译器时却出现莫名其妙的警告,信息如下:
Compiling: src/main.cpp
In file included from /media/disk/project/pmoney/src/main.cpp:16:
/media/disk/project/pmoney/src/res/new.xpm:50: warning: deprecated conversion from string constant to ‘char*’
/media/disk/project/pmoney/src/res/new.xpm:50: warning: deprecated conversion from string constant to ‘char*’
...
而且警告信息大量重复。上网查询资料,也长不到这个问题的解决,只好到wxWidgets的官方论坛(http://wxforum.shadonet.com)发帖请教,才知道原来是图像的格式不规范导致的。
Tags: , , , ,
写一个跨平台程序,简单的wxImageList代码:
wxImageList* images = new wxImageList(size, size, true);
竟然在Linux(Debian)下无法编译,而在Windows平台是没有问题的。
难道wxMSW和wxGTK的还有些不同?错误信息如下:
/media/disk/project/pmoney/src/treewnd.cpp|135|error: invalid use of incomplete type ‘struct wxImageList’|
/usr/local/include/wx-2.8/wx/generic/listctrl.h|16|error: forward declaration of ‘struct wxImageList’|
分页: 7/21 第一页 上页 2 3 4 5 6 7 8 9 10 11 下页 最后页 [ 显示模式: 摘要 | 列表 ]