C++ API DLL Project
C++ API DLL Project
我有一个C 项目,该项目使用DLL和LIB文件附带的API以及一个标题文件。我想创建一个win32表单项目。
我的问题是如何将项目与dll和lib文件链接。
但是主要的问题是,我如何订阅事件?在API中,我可以调用函数,该功能会按照事件响应返回,在MFC项目中,我通常会在消息循环中订阅。但是在Win32中没有消息循环。
也许我自己正在复杂情况,这比我想象的要容易。请为我澄清这种情况。
谢谢。
当有人问一个以上的问题...在您的"主要问题"的情况下,总是很难回答,请显示相关的API呼叫以订阅事件。您错了Win32中没有消息循环...只是没有 mfc 消息循环。
我现在正在回答一个简单的问题..."您如何链接DLL"。我有点假设您正在使用Visual Studio。那是对的吗?我这样做的方式,当我急忙的时候就是这样:
#include "mylib.h"
#pragma comment(lib, "mylib.lib")
这就是全部。当然,我想要标题,但是当我使用时,我告诉编译器也可以链接库。
我似乎回想起其他时间,我只是简单地将库文件拖到项目的解决方案视图中,从而有效地将其添加为源。这也有效。
很长的路是编辑您的项目设置,转到 linker 部分,然后在 input 小节下,您将库添加到列表。您需要为所有配置做到这一点。有多种方法可以正确维护它,但我不会在这里进行。
如果您不使用Visual Studio,请忽略我的答案。
您不能将项目与dll文件链接,您可以将项目与lib文件链接,您可以在项目设置对话框中添加lib文件名(linker)
或,您将其添加到您的代码
#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/mms644996(v = vs.85).aspx#modeless_box
- 挂起和取消挂起一个文件DLL
- Project Euler问题4的错误解决方案
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 导入库可以跨dll版本工作吗
- 从C++dll访问C#中的一行主要参数
- 链接到自行创建的dll失败
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- C++:将外部库链接到dll库
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 不同的Visual Studio版本中缺少.dll
- 从DLL中删除类的实例
- 调用 "project" 函数和调用 DLL 函数之间的区别
- Including dll to Visual Studio project
- 将通用Windows C#类库引用到通用Windows C DLL Project Visual Studio 2
- C++ API DLL Project
- C#应用程序无法从C++DLL/Project调用方法
- using c++ dll in asp.NET c# project?