0

我有一个 C++ 项目,它使用 DLL 和 LIB 文件以及头文件附带的 API。我想创建一个 win32 表单项目。

我的问题是如何将项目与 dll 和 lib 文件链接起来。

但主要问题是,我如何订阅事件?在 API 中,我可以调用函数,这些函数在事件响应中返回,在 MFC 项目中我通常会在消息循环中订阅。但是在 Win32 中没有消息循环。

也许我自己把情况复杂化了,这比我想象的要容易。请为我澄清这种情况。

谢谢你。

4

2 回答 2

2

当有人问多个问题时,总是很难回答......对于您的“主要问题”,请显示相关的 API 调用以订阅事件。你错了Win32中没有消息循环......只是没有MFC消息循环。

我现在正在回答一个简单的问题......“你如何链接 DLL”。我有点假设您使用的是 Visual Studio。那是对的吗?当我赶时间时,我这样做的方式是这样的:

#include "mylib.h"
#pragma comment(lib, "mylib.lib")

这里的所有都是它的。当然我想要标题,但是当我在它的时候我告诉编译器也链接库。

我似乎还记得其他时候我只是将库文件拖到项目的解决方案视图中,有效地将其添加为源。这也有效。

漫长的方法是编辑您的项目设置,转到链接器部分,然后在输入子部分下,将您的库添加到附加依赖项列表中。您需要对所有配置执行此操作。有一些方法可以正确地维护它,但我不会在这里讨论。

如果您没有使用 Visual Studio,请忽略我的回答。

于 2012-10-26T04:46:45.783 回答
1

您不能将项目与 dll 文件链接,您可以将项目与 lib 文件链接,您可以在项目设置对话框(链接器)中添加 lib 文件名

或者,您将其添加到您的代码中

#pragma comment(lib,"xxxx.lib")

DLL 文件将在运行时加载。

对于消息循环,请参阅http://msdn.microsoft.com/en-us/library/windows/desktop/ms644928(v=vs.85).aspx

或者这个: http: //msdn.microsoft.com/en-us/library/windows/desktop/ms644996 (v=vs.85).aspx#modeless_box

于 2012-10-26T04:48:29.377 回答