C++ API DLL 项目

标签 c++ winforms api winapi dll

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

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

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

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

谢谢。

最佳答案

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

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

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

这就是它的全部。我当然想要 header ,但当我在处理它时,我告诉编译器也链接库。

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

漫长的方法是编辑您的项目设置,转到Linker 部分,在Input 子部分下,将您的库添加到Additional Dependencies 列表。您需要为所有配置执行此操作。有一些方法可以正确维护它,但我不会在这里讨论。

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

关于C++ API DLL 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13080821/

相关文章:

iphone - 将 "open with"菜单集成到我的 iPhone 应用程序中

c++ - unordered_map 的键

c++ - 如何使整个 GridView 行垂直展开

c# - 如何将 CheckedListBox 选定的项目放入 List<X>...?

c# - 获取调用线程

c++ - C++ API 的消费者驱动合约测试

c++ - 在 C++ 中用 for(;condition;) 替换 while(condition) 有什么理由吗?

c++ - 在 C++ 项目中使用 tinyXml2

c# - 在列表框中搜索

api - Magento Soap API V2 响应内容长度不正确