在使用QtCreator和Visual Studio构建的应用程序之间使用Qt STL

Using Qt STL between applications built with QtCreator and Visual Studio

本文关键字:应用程序 之间 STL Qt Studio QtCreator Visual 构建      更新时间:2023-10-16

我正在做一个软件项目,其中的界面是用Qt Creator设计的。这个应用程序链接到Visual Studio中构建的一些动态库。

我已经用Visual Studio从源代码构建了Qt,但是由于Qt Creator中的库是使用MinGW构建的,是否存在在应用程序和DLL之间传递Qt STL对象的危险,考虑到它们都是用不同的编译器构建的事实?

我唯一能想到的是调试和发布之间的冲突。

更多信息:DLL将使用的唯一Qt类是QString, QVector和QMap。

编辑:

PS:那标准的样式呢?在MinGW和MSVC之间混合二进制文件有什么问题吗?

不能。没有标准化的c++ ABI,而且GCC和MSVC的ABI肯定是不兼容的——甚至不同版本的MSVC之间的ABI也不兼容。使用想要使用的编译器构建整个库。