我有一个第三方组件,其中包括.LIB和.DLL文件。为了使用该组件,我将.LIB链接到我的C ++程序中,并将.DLL与应用程序一起分发。提供的功能非常特定,只与我的用户的小子集相关,但分发.DLL会产生许可证费用。
这里的一个解决方法是拥有两个版本的应用程序,一个链接第三方组件,另一个不链接,但我宁愿避免维护和分发第二个版本所需的额外时间。
理想情况下,我想简单地从分发中排除.DLL,但如果我这样做,就会出现错误“'This application has failed to start because XXXXX.DLL was not found. Re-Installing the application may fix this problem'”。 这是我能在我的代码中捕获和处理的异常吗?或者,我是否可以延迟加载.DLL,直到尝试调用提供的特定功能,然后在那时处理它,或者仅检查.DLL的存在并相应地处理?
环境是VS 2003和VS 2008。
这里的一个解决方法是拥有两个版本的应用程序,一个链接第三方组件,另一个不链接,但我宁愿避免维护和分发第二个版本所需的额外时间。
理想情况下,我想简单地从分发中排除.DLL,但如果我这样做,就会出现错误“'This application has failed to start because XXXXX.DLL was not found. Re-Installing the application may fix this problem'”。 这是我能在我的代码中捕获和处理的异常吗?或者,我是否可以延迟加载.DLL,直到尝试调用提供的特定功能,然后在那时处理它,或者仅检查.DLL的存在并相应地处理?
环境是VS 2003和VS 2008。