【发布时间】:2011-06-20 12:05:10
【问题描述】:
我整个上午都在试图得到一个明确的答案,但我运气不佳 - 也许我的速度很慢,因为我以前没有使用过这个功能。
我有一个 .dll 文件和一个对应的同名 .lib 文件。我想在我的 Qt 应用程序中使用其中的一些功能。我有一个库中可用的函数列表,我还有一个这些函数的 C++ 原型列表(这些是使用 extern "C" 编写的)。
根据我今天的理解(可能是错误的),我可以在运行时加载库并尝试解析我需要的函数,或者我可以在编译时加载库,确保在我的中包含 C++ 原型标题。
现在,我的第一个问题是我对这两件事的看法是否正确?
如果我是,有没有首选的方法?
如果我错了 - 任何人都可以在正确的方向轻轻推我一下吗?
谢谢
【问题讨论】:
-
这是在 Visual Studio 下还是 mingw 下?他们处理 dll 的方式不同。
-
你试过QLibrary类来管理DLL吗?
-
@hexa 是的,感谢您的提示-我正在查看它-它似乎用于动态加载。我现在正在尝试将其静态编译,但如果我迷路了,我会查看 QLibrary。
-
动态加载很好,因为例如如果缺少 dll,您仍然可以启动程序并更好地控制错误消息等。