一杯清酒邀明月
天下本无事,庸人扰之而烦耳。
posts - 3121,comments - 209,views - 578万

问题描述:

在qt工程中调用QString::fromStdWString()时,老是报错error LNK2019: 无法解析的外部符号...QString::fromStdWString(...)...

原因:

在Qt库中 wchar_t 不是内置类型,所以QT建议我们构建基于Qt的软件时,也不要将wchar_t作为内置类型。但是在一些情况下,其他的库构建时可能已经将wchar_t作为了内置类型。当使用std::wstring、QString::toStdWString()和String::fromStdWString() 将导致链接错误.

解决方案:

QString转成std::wstring:

复制代码
1 /*! Convert an QString to a std::wstring */
2 std::wstring qToStdWString(const QString &str)
3 {
4 #ifdef _MSC_VER
5  return std::wstring((const wchar_t *)str.utf16());
6 #else
7  return str.toStdWString();
8 #endif
9 }
复制代码

std::wstring转成QString:

复制代码
1 /*! Convert an std::wstring to a QString */
2 QString stdWToQString(const std::wstring &str)
3 {
4 #ifdef _MSC_VER
5  return QString::fromUtf16((const ushort *)str.c_str());
6 #else
7  return QString::fromStdWString(str);
8 #endif
9 }
复制代码

 

posted on   一杯清酒邀明月  阅读(779)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2020-02-21 C++ 回调函数简单示例
2020-02-21 Qt HWND的句柄与QWidget的转换
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示