gpt4 book ai didi

c++ - 如何编译使用从不同编译器编译的库的应用程序?

转载 作者:行者123 更新时间:2023-11-30 03:20:55 26 4
gpt4 key购买 nike

我的问题如题。

我目前在 Qt Creator 中使用 Mingw32 编译器 来编译我的应用程序。问题是我在我的应用程序中包含了一个 .lib 静态库 和从 Visual Studio 2017 编译的头文件。

当我在 Qt 中进一步运行或编译我的应用程序时。我会遇到错误代码,无法识别的文件格式指向 .lib 文件。

我有理由怀疑:例如,我不能使用编译器 1 来编译从编译器 2 编译的其他库。

我按照此处的说明进行操作:libwdi Installation and Compilation编译“libwdi.lib”文件。

仅供引用,我使用 Visual Studio 编译 .lib 库 (libWdi) 的原因是因为在我尝试使用 Qt5 工具中的 wingw32-make 后,它更容易在我的 Windows 操作系统上实现。这太痛苦了,因为我什至无法运行 ./autogen.sh 来为 Windows 上的 Mingw32 生成 makefile。

感谢有关如何为 Qt Creator 构建可行的 .lib 文件的任何分步信息,包括使用 VS、mingw 和交叉编译器

最佳答案

如果目标库在其公共(public)接口(interface)中使用 c++ 功能,那么无论您经过何种阴谋,这都可能无法正常工作。在这种情况下,即使是同一编译器的不同版本也经常会出现问题。

另一方面,纯 C 通常可以工作(在 Windows 上,非 MS 工具集将至少使用 MS 中间对象格式,即使编译器/链接器通常不使用也是如此)。

关于c++ - 如何编译使用从不同编译器编译的库的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52456726/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com