用VS2008sp1编译出QT4.5.1的程序,发现无法载入plu

用 VS2008 sp1 编译出 QT 4.5.1 的程序,发现无法载入plugin。

曾经QT 4.4.1是可以的。

解决方法如下:

1.sp1 运行时库,缺省还是 Microsoft.VC90.CRT 21022.8。

修改 $(QtDir)$\mkspecs\win32-msvc2008\qmake.conf,使其用Microsoft.VC90.CRT 30729.1版。

DEFINES += UNICODE WIN32 QT_LARGEFILE_SUPPORT _BIND_TO_CURRENT_VCLIBS_VERSION=1 _BIND_TO_CURRENT_CRT_VERSION=1

(红色是添加部分)

然后 >> nmake。

2.重新编译plugin,

修改 $(QtDir)$\src\plugins\qpluginbase.pri,

CONFIG += qt plugin
CONFIG-=embed_manifest_dll

(红色是添加部分)

然后 >> qmake >> namke 。

上述为备忘。

如果想用Microsoft.VC90.CRT 30729.1版,自选需要下面预定义:

#define _BIND_TO_CURRENT_CRT_VERSION 1 #define _BIND_TO_CURRENT_ATL_VERSION 1 #define _BIND_TO_CURRENT_MFC_VERSION 1 #define _BIND_TO_CURRENT_OPENMP_VERSION 1 #define _BIND_TO_CURRENT_VCLIBS_VERSION 1 详细参考:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/11409.html