我目前正在尝试将 ffmpeg 库(在 C 中)加载到我的 C++ 项目中。该库由头文件、.lib 文件和 .dll 文件组成,我成功加载并使用了所有这些文件。但是,我们的项目非常希望延迟加载这些 dll 文件,这就是我失败的地方。
它归结为:
- 当我在不参考任何库的 dll 函数的情况下构建项目时,它运行正常,并且我看到(通过我的日志)所有 dll 都在我明确获取它们的 DLL 句柄的地方正确加载。
- 当我构建项目并包含对 dll 的函数调用时,可执行文件 simple 无法加载,因为它缺少“xx.dll”。这是在函数调用完成之前。IE:只需在我的代码中调用 dll 函数,程序似乎会在启动时尝试加载它。
- 当我在我的程序可执行文件旁边手动添加 dll 时,它在两种情况下都运行良好,但不希望将它们放在我的可执行文件旁边。
有什么明显的我遗漏或做错了吗?
谢谢!