用Stlport作为标准库编译Qt

  因为直接下载的Qt SDK是不支持“将wchar_t 视为内置类型”的,所以下载一份源码自己配置后编译,就是这个过程让我这个周末都搭在这上了,主要是想用Stlport作为标准库来编译,大费周折...

  首先设置环境变量INCLUDE和LIB,分别将%STLPORT%/stlport和%STLPORT%/lib放在第一位。

  找到%MSVC9.0%/Common7/Tools/vsvars32.bat,这个批处理文件实际上被“Visual Studio 2008 命令提示”调用来设置nmake,cl等路径和VC标准库的路径,用文本编辑器打开:

  其中两行:

@set INCLUDE=%MSVCDir%\VC\ATLMFC\INCLUDE;%MSVCDir%\VC\INCLUDE;%INCLUDE%;
@set LIB=%MSVCDir%\VC\ATLMFC\LIB;%MSVCDir%\VC\LIB;%LIB%

  改为:

@set INCLUDE=%INCLUDE%;%MSVCDir%\VC\ATLMFC\INCLUDE;%MSVCDir%\VC\INCLUDE 
@set LIB
=%LIB%;%MSVCDir%\ATLMFC\LIB;%MSVCDir%\VC\LIB

  这样,在“Visual Studio 2008 命令提示”中就会使用Stlport而不是VC的标准库了。

  下载Qt源码、解压,因为我用的是VS2008,修改配置文件%QTDIR%/mkspecs/win32-msvc2008/qmake.conf;去掉-Zc:wchar_t-。

  进入“Visual Studio 2008 命令提示”,进入%QTDIR%,执行configure命令,如下:

configure -platform win32-msvc2008 -debug -D _STLP_DEBUG

  成功后输入nmake install,即开始编译Qt的debug版本,编译过程大概要持续一个小时,nmake执行完成后,再次执行configure命令,如下:

configure -platform win32-msvc2008 -release

  成功后输入nmake install,即开始编译Qt的release版本。

  如果用VC标准库或者用Stlport但是不会用到stlportstld*.dll或stlportstld*lib版本的话(Boost好像一定是调用stld的版本...),完全可以-debug-and-release一次性的生成makefile,然后调用nmake。

  configure命令有很多选项,可以根据自己的需要调整编译的库。

原文地址:https://www.cnblogs.com/mian/p/2723451.html