我有一个C ++项目,它使用DLL和LIB文件附带的API,以及头文件。 我想创建一个win32表单项目。
我的问题是如何将项目与dll和lib文件链接。
但主要问题是,我如何订阅活动? 在API中我可以调用函数,这些函数在事件响应时返回,在MFC项目中我通常会在消息循环中订阅。但是在Win32中没有消息循环。
也许我自己使情况复杂化,这比我想象的要容易。 请为我澄清这种情况。
谢谢。
答案 0 :(得分:2)
当有人提出多个问题时,总是很难回答......如果是您的“主要问题”,请显示订阅活动的相关API调用。你错了Win32中没有消息循环......只是没有 MFC 消息循环。
我现在回答这个简单的问题......“你如何链接DLL”。我假设您使用的是Visual Studio。那是对的吗?我这样做的方式,当我赶时间的时候是这样的:
#include "mylib.h"
#pragma comment(lib, "mylib.lib")
这就是它的全部。当然我想要标题,但是当我在它时,我告诉编译器也链接库。
我似乎还记得其他时候我只是将库文件拖到项目的解决方案视图中,有效地将其添加为源。这也有效。
漫长的方法是编辑项目设置,转到链接器部分,然后在输入子部分下,将库添加到其他依赖项列表。您需要为所有配置执行此操作。有很多方法可以保持这个,但我不会在这里讨论它。
如果您不使用Visual Studio,请忽略我的答案。
答案 1 :(得分: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