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

标签 c++ qt dll stl

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

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

我唯一能想到的就是debug和release之间的冲突。

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

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

最佳答案

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

关于c++ - 在使用 QtCreator 和 Visual Studio 构建的应用程序之间使用 Qt STL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8394748/

相关文章:

c++ - 将信号和插槽关联到动态创建的 qcheckbox

delphi - 从 Delphi DLL 导出全局符号

C++ 入门第 5 版。 : using sort on a vector of pointers is it undefined?

c++ - 区别 stringstream 和 ostringstream

c++ - Codelite MinGW G++ 链接器错误

c# - 带有 C# Windows 窗体应用程序的 Oracle 即时客户端

c# - 将 exe 指向可执行文件目录之外的 dll

c++ - 关于 boost.asio 异步 sleep

linux - QML 动画有些撕裂

c++ - 我怎样才能使 Qt 应用程序更小