我在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-