QT出静态版本

值“MT_StaticRelease”不匹配值“MD_DynamicRelease”

解决:

在工程上右键-》属性-》c/c++-》代码生成-》运行库

改成(release为MT,debug为MTD),如果有多个工程(主工程中包含动态或者静态链接库工程)都得同样设置。即可解决!

QT总是出现无法解析外部符号

添加新文件或者改动,需要先 qmake下

qt添加外部库

LIBS += -LD:/FreqUsed/Qt/-static-vs2013/lib/ -lQt5Network -lQt5WebKitWidgets

提示无法打开输入文件Qt5WebKitWidgets542.lib,则修改static/lib目录下的文件名就好

然而并没有什么用,因为:

QWebView - QWidget: must construct a QApplication before a QPaintDevice error

The documentation mentions Webkit may not work as a static library.

From the Platform and Compiler Notes page:

WebKit is only supported as a dynamically built library. Static linkage is not supported.

Try dynamic linking instead.

项目使用了webkit,然后用static_release 版编译成功,但是运行还是报上面的错误,原来webkit不能使用静态版本

到目前,

测试了几个版本组合

qt5.4_msvc动态库

qt5.4_msvc_static静态库

qt5.4_gw动态库

qt5.4_gw_static静态库

可以明确的是:

qt5.4_gw 可以用做QT动态库版完全开发环境

vs2013 + qt5.4_msvc  可以用做QT动态库版完全开发环境

qt5.4_gw + qt5.4_gw_static  可以用做动态库版+静态库版开发环境

qt5.4_msvc + qt5.4_msvc_static + vs2013  可以用做动态库版+静态库版开发环境

解决dll依赖:

windeployqt.exe    test.exe

出整包:

之前有写过笔记,可以用rar打包,然后解压同时后执行exe,比较笨,但也好用

关于新模块,webengine,gw版本不支持,只能用qt5.4_msvc版

qt导出到vs2013,编译出的程序乱码解决,在.cpp中加入:

#if _MSC_VER >= 1600

#pragma execution_character_set("utf-8")

#endif

猜你喜欢

转载自blog.csdn.net/promanz/article/details/89384301