wxWidgets作为一个界面库,如果编译调试版本的话,文件非常大,使用时链接起来比较慢。而作为wxWidgets库的使用者,对wxWidgets库本身的调试并没有多大价值。但如果直接在Debug版本程序中使用Release的wxWidgets库的话,会产生链接错误:
app.obj||error LNK2001: unresolved external symbol "public: virtual void __thiscall wxAppConsole::OnAssertFailure(wchar_t const *,int,wchar_t const *,wchar_t const *,wchar_t const *)" (?OnAssertFailure@wxAppConsole@@UAEXPB_WH000@Z)|
这个问题困扰我太长时间了:我静态编译wxWidgets,几个关键的配置:
SHARED = 0
BUILD = release
RUNTIME_LIBS = static
都明确的指出当我释放Release版本时,应该选择/MT选项。然而总是链接错误:BUILD = release
RUNTIME_LIBS = static
libcpmt.lib(string.obj)||error LNK2001: unresolved external symbol "void __cdecl operator delete(void *)" (??3@YAXPAX@Z)|
wxmsw28u.lib(monolib_dcprint.obj)||error LNK2001: unresolved external symbol "void __cdecl operator delete(void *)" (??3@YAXPAX@Z)|
wxmsw28u.lib(monolib_dcprint.obj)||error LNK2001: unresolved external symbol "void __cdecl operator delete(void *)" (??3@YAXPAX@Z)|
使用Code::Blocks(以下简称CB)半年多了,也将自己所有的项目都转到CB下,但代码仍是一行一行的编写,全手工操作。基于界面的繁琐,试用wxFormBuilder 3.0,其操作虽然方便,但有一个我无法接受的缺点:无法保存用户添加的代码!转用wxSmith:作为CB的插件,我竟然从来未曾试用过它。
结果意出乎我的意料:不但可以保留用户手工添加的代码,可能可以随意排版,原则上只要保留相应的宏即可!
相见恨晚!
结果意出乎我的意料:不但可以保留用户手工添加的代码,可能可以随意排版,原则上只要保留相应的宏即可!
相见恨晚!
这几天研究Boost,总结一下。
编译:
编译:
bjam --toolset=msvc-9.0 --build-type=complete --with-filesystem stage
提取:bcp boost/lexical_cast.hpp boost/filesystem.hpp boost/format.hpp boost/timer.hpp boost/pool/pool.hpp foo
下面是关于C++0x中的TR1和TR2的相关信息,决定对Boost的学习就基于tr1和tr2的内容。为此,将编译器升级到VC2008SP1,纪念一下!
真的十分感叹Code::Blocks的脚本描述语言的强大!今天自己写一个WinSDK的向导时,才明白原来程序还可以这么写:通过解析脚本,大大的提高了程序的扩展性。
下面是Code::Blocks关于向导编写的一些链接:
http://wiki.codeblocks.org/index.php?title=Wizard_Scripting_Commands
http://wiki.codeblocks.org/index.php?title=Wizard_scripts
http://wiki.codeblocks.org/index.php?title=Wizard_Page_Events
下面是Code::Blocks关于向导编写的一些链接:
http://wiki.codeblocks.org/index.php?title=Wizard_Scripting_Commands
http://wiki.codeblocks.org/index.php?title=Wizard_scripts
http://wiki.codeblocks.org/index.php?title=Wizard_Page_Events





2008/10/08

