关于VS中静态调用dll的一些有关问题

关于VS中静态调用dll的一些问题

在静态调用dll时,只需要在代码中加入

#pragma comment(lib, "E:\\test.lib")
就可以正确编译,而只有程序运行时才会载入相应的test.dll。为了方便调试,通常希望直接调用Debug目录下的库文件,如E:\test\debug,以便于在库函数调用时可单步调试。
#pragma comment(lib, "E:\\test\\debug\\test.lib")

通过上面的语句,可以正确生成主程序的exe文件,但是一旦运行,则报错“无法启动此程序,因为计算机中丢失XXX.dll”,如:

关于VS中静态调用dll的一些有关问题

只有将dll文件拷贝到主程序的根目录中才能解决此问题,但这给调试带来了极大的不便。

经过在网上不懈地查找,终于得到了一个可以接受的解决方案:

在项目的“属性->配置属性->调试”页面中,在“环境”选项中填入:PATH=<dll所在的目录>,如PATH=E:\test\debug\。

关于VS中静态调用dll的一些有关问题

重新生成后再次运行,问题得以解决。