0

我正在使用基于 Qt 5.8.0(MSVC 2015,32 位)的 Qt Creator 4.2.1 的 cpprest。

我已修改.pro文件以指示

INCLUDEPATH += C:/cpprest/Release/include

我收到以下错误:

mainwindow.obj:-1:错误:LNK2019:无法解析的外部符号“__declspec(dllimport) 类 std::basic_string,class std::allocator > __cdecl 实用程序::conversions::to_string_t(class std::basic_string,class std::分配器 > const &)" (__imp_?to_string_t@conversions@utility@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AEBV?$basic_string @DU?$char_traits@D@std@@V?$allocator@D@2@@4@@Z) 在函数“class web::uri __cdecl generateOMDBQuery(class std::basic_string,class std::allocator > const &)" (?generateOMDBQuery@@YA?AVuri@web@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)

根据这个答案我需要设置

C/C++ -> 语言中将 wchar_t 的内置类型视为

直到我明白这是 Visual Studios 的设置。我如何在QT creator中设置它?

4

1 回答 1

0

我同意命令行构建的“AlexanderVX”评论。

这是为了解决您的问题,我的意思是设置选项——“在 C/C++ 中将 wchar_t 的内置类型设置为否 -> 语言。”

这个设置我不确定“QtCreator”。

但是,如果您进行命令行构建,您可以在 QMake 中进行设置。

对于 Windows 构建(MSDN 文档):

/Zc:wchar_t用于处理“WChar_t 作为内置类型”。

/Zc:wchar_t-是为了将“WChar_t 作为内置类型”处理。

这些设置可以在 Windows 操作系统的相应 QMake 文件中完成。

您通常可以在“mkspecs\win32-msvc2010”中找到该文件(版本号可能会有所不同)

对于 Qt4.8,我看到了它们,

Qt_4.8.0\4.8.0_original\mkspecs\win32-msvc2010 

在记事本中打开make文件,找到“QMAKE_CFLAGS”,添加“-Zc:wchar_t-”选项,如下图。注意负号

QMAKE_CFLAGS            = -nologo -Zm200 -Zc:wchar_t-
于 2017-03-27T22:06:04.707 回答