Qt 创建器中的实用程序::转换::to_string_t中的链接错误



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

我修改了.pro文件以指示

INCLUDEPATH += C:/cpprest/Release/include

我收到以下错误:

主窗口.obj:-1: 错误: LNK2019: 未解析的外部符号 "__declspec(dllimport) 类 std::basic_string,类 std:::分配器> __cdecl 实用程序::转换::to_string_t(类标准::basic_string,类标准::分配器> 常量 &)" (__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是内置类型no

直到我理解这是Visual Studios的设置。如何在QT 创建器中设置它?

我同意命令行构建的"亚历山大VX"评论。

这是为了解决您的问题,我的意思是设置选项 - "在 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.04.8.0_originalmkspecswin32-msvc2010 

在记事本中打开 make 文件,找到"QMAKE_CFLAGS",然后添加"-Zc:wchar_t-"选项,如下所示。注意负面信号

QMAKE_CFLAGS            = -nologo -Zm200 -Zc:wchar_t-

相关内容

最新更新