c++ - 从 DLL 创建符号库以用于 MINGW32

标签 c++ netbeans g++ mingw32

我正在使用 C++、Qt、Mingw32 和 Netbeans 开发一个应用程序。我需要使用公司软件组开发的内部 API。 我有我需要链接的 DLL 的符号库 .lib 文件,但我不能将这些库与 Mingw32 一起使用,它可以在 Microsoft Visual Studio 中正常工作。

有谁知道是否有办法导出符号并创建一个适用于 Mingw32 的 .a 符号库?如果没有,我想我将不得不转到 Visual Studio。

我曾尝试使用程序“pexports”来创建一个 .def 文件和 dlltool,但这没有用。仍然有未引用的符号错误,然后我将它提示的符号添加到 .def 中,因为它们不存在并且它停止提示和编译。但是程序崩溃了。我在 Visual Studio 中尝试了相同的代码,它编译并运行良好。

最佳答案

您是否考虑过动态加载 DLL? LoadLibrary、GetProcAddress 等。您可能可以轻松编写一个类来封装所有 DLL 的入口点、加载和卸载库以及执行所有 #typedef 等。这是一项艰巨的工作,但如果它是一个内部库,则可能没有入口点太多?

导入库被高估了。 :p

关于c++ - 从 DLL 创建符号库以用于 MINGW32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4464416/

相关文章:

java - 如何获取 jTabbedpane 中文本区域的名称?

c++ - Linux g++编译错误: error: expected ',' or '...' before '||' token

c++ - Qt 造物主/Linux : setting compiler/linker option -ldl for dynamic libraries

java - 将 NetBeans IDE 的数据库管理器与 UCanAccess JDBC 驱动程序一起使用

c++ - 更改项目中变量名称的最安全方法

java - 从外部应用程序创建 netbeans 项目

c++ - 我可以从调试二进制文件重建 C++ 源代码吗?

c++ - GCC 构建问题 (#include_next limits.h)

c++ - 将 C++ 类放在另一个文件中 : compilation error

C++ 在运行之间清除文本文件的内容导致只写入最后一行