【问题标题】:linking error in utility::conversions::to_string_t in qt creatorqt 创建器中实用程序::conversions::to_string_t 中的链接错误
【发布时间】:2017-03-27 18:15:34
【问题描述】:

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

我已经修改了.pro文件来表示

INCLUDEPATH += C:/cpprest/Release/include

我收到以下错误:

mainwindow.obj:-1: error: LNK2019: unresolved external symbol "__declspec(dllimport) class std::basic_string,class std::allocator > __cdecl utility::conversions::to_string_t(class std::basic_string,class std::allocator > 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)

按照this的回答我需要设置

C/C++ -> 语言中将wchar_t 是内置类型 处理为

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

【问题讨论】:

  • 这个项目没有使用导入库可能是原因。

标签: c++ qt qt5.8


【解决方案1】:

我同意命令行构建中的“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-

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多