QT5混合WTL出现error: C2440: “默认参数”: 无法从“const wchar_t [1]”转换为“BSTR”

16 篇文章 2 订阅
13 篇文章 2 订阅

原文:

http://zwmin.com/2017/08/04/error%20C2440%20'default%20argument'%20cannot%20convert%20from%20'const%20wchar_t%20[1]'%20to%20'BSTR'[%E9%94%99%E8%AF%AF%E8%AE%B0%E5%BD%95]/#C2440%E9%94%99%E8%AF%AF

在从VS2015  QT +WTL ,出现了一个莫名的错误,无法编译通过,使用各种办法无效。就Gogle找吧,试了网上各种办法,基本无效。

上天不负有心人

终于在一篇文章中找到办法。
就是在qmake添加
win32: QMAKE_CXXFLAGS_RELEASE -= -Zc:strictStrings
win32: QMAKE_CFLAGS_RELEASE -= -Zc:strictStrings
win32: QMAKE_CFLAGS -= -Zc:strictStrings
win32: QMAKE_CXXFLAGS -= -Zc:strictStrings

 原文:

https://stackoverflow.com/questions/37204166/error-c2440-default-argument-cannot-convert-from-const-wchar-t-1-to-bst

 

 

还有补充一点,类似

#ifdef Q_OS_WIN

#include <atlbase.h>
#include <atlapp.h>
#include <atlgdi.h>
#include <atldlgs.h>

#endif

之类的代码,引用顺序要放在 #include <QWidget> 之类的之后,否则宏 Q_OS_WIN 无效,导致atl系列的头文件无法加载,编译出错。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值