QString与std::wstring的转换问题_qstring转wstring_Number.Nine的博客-程序员宅基地

技术标签: C/C++  Windows  

问题描述:

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

/*! Convert an QString to a std::wstring */
std::wstring qToStdWString(const QString &str)
{
#ifdef _MSC_VER
 return std::wstring((const wchar_t *)str.utf16());
#else
 return str.toStdWString();
#endif
}

std::wstring转成QString:

/*! Convert an std::wstring to a QString */
QString stdWToQString(const std::wstring &str)
{
#ifdef _MSC_VER
 return QString::fromUtf16((const ushort *)str.c_str());
#else
 return QString::fromStdWString(str);
#endif
}

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_33233768/article/details/81665275

智能推荐

/dev、/sys/dev 和/sys/devices 和udev的关系_/dev/video对应/sys下哪个文件_loongembedded的博客-程序员宅基地

/dev,设备文件存储目录,应用程序通过对这些文件的读写和控制,可以访问实际的设备;/sys/devices目录,按照设备挂接的总线类型,组织成层次结构,保存了系统所有的设备;是文件系统管理设备的最重要的目录结构;这是内核设备按总线类型分层放置的目录结构, devices 中的所有设备都是连接于某种总线之下,在这里的每一种具体总线之下可以找到每一个具体设备的符号_/dev/video对应/sys下哪个文件

常用连接linux工具_lijunlinlijunlin的博客-程序员宅基地

一般我们装linux,基本上都是用来做服务器的,而且基本上服务器也只有一个主机,没有键盘和显示器,在无法接触到物理机的情况下,我们如何对服务器进行管理呢?本篇文章,将会介绍在工作中接触的常用连接linux的工具。putty下载地址host Name设置一个ip或者主机名,Sessions设置别名,Connection type选择ssh(默认linux是开启ssh端口的)点击左

第15章:Java反射机制_第15章java反射机制_不爱吃^鱼的猫的博客-程序员宅基地

框架 = 反射 + 注解 + 设计模式内容总览:一个例子:public class Person { private String name; public int age; @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age +._第15章java反射机制

机器学习初始化权值W为何要随机生成很小的数字_disasters的博客-程序员宅基地

Random initialization初始化参数W和b时,通常使用一下代码: W = np.random.randn((2,2)) * 0.01 b = np.zeros((2,1))W是随机生成了符合高斯分布的数,再*0.01,使得W很小,为何要随机生成? 因为如果像b一样全赋0值,就会产生对称性,假如hidden layer有两个由输入值产生的神经元,则由于对...

(Interface)接口的定义_如何定义一个inter1接口?_weixin_47056195的博客-程序员宅基地

1、普通类:只有具体实现2、抽象类:具体实现和规范(抽象方法)都有3、接口:只有规范!自己无法写方法专业的约束!约束和实现分离:面向接口编程4、接口的规范:定义的是一组规则,体现了显示世界中“如果你是…则必须能…”的思想。如果你是天使。则必须能飞…5、接口的本质是契约:就像是我们人间的法律一样,制定好后代价都需要遵守6、OO的精髓,是对对象的抽象,最能体现这一点的是就是接口。7、接口的作用:约束定义一些方法,让不同的人实现接口不能被实例化,接口中没哟构造方法必须重写接口中的方法im_如何定义一个inter1接口?

Linux libusb USB开发(三)—— libusb函数库及接口函数介绍_libusb_init_海歌也疯狂的博客-程序员宅基地

一 libusb 介绍libusb 设计了一系列的外部API 为应用程序所调用,通过这些API应用程序可以操作硬件,从libusb的源代码可以看出,这些API 调用了内核的底层接口,和kernel driver中所用到的函数所实现的功能差不多,只是libusb更加接近USB 规范。使得libusb的使用也比开发内核驱动相对容易的多。二 libusb 的外部接口2.1核心初始化函数..._libusb_init

随便推点

浅谈:Flash调用外部和执行可执行程序(as 3.0)_flash as3可以调用外部数据吗_Sky牟天的博客-程序员宅基地

(注:本篇文章讨论的是as 3.0,以CS3为环境举例的)对于“如何用Flash来调用和执行可执行程序”这个话题,目前网上的讨论的结果是五花八门,而且大多数不是没有结果,就是说的含糊不清,要不然就是过时了,总之,很难找到一个很满意的答案。 凑巧,我最近对这个问题也进行了一番研究,有了一点点自己的经验,在此分享一下~ 之前,有听同学说过,Flash不可以_flash as3可以调用外部数据吗

使用Python进行压缩与解压缩_python compresspdfdocument.optimize_resources报错not_编程百宝箱的博客-程序员宅基地

在日常工作中,除了会涉及到使用Python处理文本文件,有时候还会涉及对压缩文件的处理。通常会涉及到的压缩文件格式有:rar:Windows 环境下用的比较多的压缩,比较著名的GUI工具是winrartar: Linux系统下的打包工具,只打包,不压缩gz:即gzip,通常只能压缩一个文件。与tar结合起来就可以实现先打包,再压缩。tgz:即gz。先用tar打包,然后再用gz压缩得到的文件zip:不同于gzip,虽然使用相似的算法,可以打包压缩多个文件,不过分别压缩文件,压缩率低于tar7z_python compresspdfdocument.optimize_resources报错not supported image type

mysql5.6主从不报错_mysql5.6.26主从复制报错1050-程序员宅基地

一天老大要求做mysql5.6的数据库的主从复制,,但是报错了,提示1050数据表已存在错误:Last_SQL_Errno: 1050Last_SQL_Error: Error 'Table 'authWeibo' already exists' on query. Default database: 'novel'. Query: 'CREATE TABLE `authWeibo` (`user...

FLAGS = tf.app.flags.FLAGS 和 tf.app.flags.DEFINE_xxx()_米兔跳跳的博客-程序员宅基地

tf.app.flags: 用于支持接受命令行传递参数tf.app.flags.DEFINE_xxx()就是添加命令行的optional argument(可选参数,就是自己可以通过命令行设置的参数)tf.app.flags.FLAGS可以从命令行中取出运行代码是输入的参数。举个例子:我们创建一个testflags.py文件(Linux可以用 vim Testlags.py 直接创建)。...

python函数注释:函数后面的箭头->_python箭头函数_初学小白Lu的博客-程序员宅基地

函数注释包括:参数注释:以冒号(:)标记返回值注释:以 -> 标记def foo(a: expression, b: expression = 5) -> expression: ...添加链接描述def f(text:str,max_len:‘int>0’=80) ->str:return True函数声明中,text:strtext 是参数 :冒号后面 str是参数的注释。如果参数有默认值,还要给注释,如下写。max_len:‘int>0’=_python箭头函数

Accelerated C++学习笔记5—<组织程序和数据>_Voidwalkerxiaohui的博客-程序员宅基地

第4章 组织程序和数据从前面的学习中,我们可以发现程序并不是我们所想的那么简短,他们都有一个共同的特性,那就是1)都能解决某些特定类型的问题2)与其他的大多数工具都互相独立3)都具有一个自己的名称C++中提供两种基本的方法来让我们组织大型的程序,函数(子程序)和数据结构。1、组织计算1)计算总成绩子函数grade//根据学生的期中考试、期末考试、家庭作

推荐文章

热门文章

相关标签