我有一个包含 .LIB 和 .DLL 文件的第 3 方组件。为了使用该组件,我将 .LIB 链接到我的 C++ 程序中,并将 .DLL 与应用程序一起分发。提供的功能非常具体,仅与我的一小部分用户相关,但分发 .DLL 会产生许可费。
这里的一种解决方法是拥有我的应用程序的两个版本,一个链接到第 3 方组件,另一个不链接,但我宁愿避免维护和分发第二个构建所涉及的额外时间。
理想情况下,我想简单地从分发中排除 .DLL,但如果这样做,我会收到错误消息“此应用程序无法启动,因为找不到 XXXXX.DLL。重新安装应用程序可能会解决此问题'。这是我可以在代码中捕获和处理的异常吗?或者,我可以延迟 .DLL 的加载,直到尝试调用所提供的特定功能,然后处理它,或者只是检查 .DLL 的存在并采取相应措施?
环境是VS 2003和VS 2008。