2016-05-13 17 views
6

Tôi nhận được dưới đây lỗi khi sử dụng lệnh này qmake.exe project.pro -r -spec win32-msvc2015lỗi C2440: 'đối số mặc định': không thể chuyển đổi từ 'wchar_t const [1]' thành 'BSTR'

C:\Program Files (x86)\Windows Kits\8.1\include\um\mshtml.h(50130): error C2440: 'default argument': cannot convert from 'const wchar_t [1]' to 'BSTR' 

và nó làm việc tốt với qmake.exe project.pro -r -spec win32-msvc2013

Có nghĩa là nó được xây dựng tốt với win32-msvc2013 nhưng không phải win32-msvc2015. Tôi đã thêm dòng dưới đây vào tệp dự án và sau đó tôi đã có thể xây dựng vào năm 2013 nhưng Không thể trong năm 2015.

win32: QMAKE_CXXFLAGS_RELEASE -= -Zc:strictStrings 

Bất kỳ ai có ý tưởng về điều này cần cho năm 2015?

Trả lời

11

Đó là vì một số tiêu đề Windows vi phạm các quy tắc strictStrings. Bạn có thể thử nới lỏng việc kiểm tra nhiều hơn:

win32: QMAKE_CXXFLAGS_RELEASE -= -Zc:strictStrings 
win32: QMAKE_CFLAGS_RELEASE -= -Zc:strictStrings 
win32: QMAKE_CFLAGS -= -Zc:strictStrings 
win32: QMAKE_CXXFLAGS -= -Zc:strictStrings 
+1

Nó hoạt động, Cảm ơn. –

+0

Câu trả lời được bỏ phiếu là tốt. –

+1

Tôi đang đối mặt với cùng một vấn đề. Điều này giải quyết được vấn đề của tôi. Cảm ơn @talamaki! – code82

Các vấn đề liên quan