希望开发同时适用于Windows,MAC和Linux三个操作系统的PC软件。
UI想用Qt,因为它在界面定制、多语言支持方面比MFC要方便易用很多,且跨平台。
BL想用Boost,跨平台、功能强大。
前两者都需要STL支持,MSVC自带的STL库在网上有很多负面评论,所以想使用STLport。
1、UI
除Qt之外,还有很多Direct UI的开源库,是一个备选。
Direct UI的库比较多,体积相对较小,但库比较多,不了解成功案例。
体积相对较大,用过Qt,有成功案例(如WPS),UI定制和多语言支持都比较好。
选择Qt。
2、BL
目前看没有什么弊端。高质量的代码库,强大的功能组件,良好的跨平台能力。
选择Boost。
3、STL
是否有必要使用STLport?
多数STLport与MSVC自带的STL的对比都说,STLport在性能上有很大的优势,且提供更多的易用组件。
但使用STLport需要一些额外的部署工作,且在项目中需要额外的宏定义。
另外发现一个问题,使用fstream对二进制文件进行读写时,fstream在Windows上不能以UCS2字符串作为文件路径来打开文件。
该问题详见:http://bbs.csdn.net/topics/390740963?page=1#post-397024590
综上,暂不使用STLport。