在静态调用dll时,只需要在代码中加入
#pragma comment(lib, "E:\\test.lib")
就可以正确编译,而只有程序运行时才会载入相应的test.dll。为了方便调试,通常希望直接调用Debug目录下的库文件,如E:\test\debug,以便于在库函数调用时可单步调试。
#pragma comment(lib, "E:\\test\\debug\\test.lib")
通过上面的语句,可以正确生成主程序的exe文件,但是一旦运行,则报错“无法启动此程序,因为计算机中丢失XXX.dll”,如:
只有将dll文件拷贝到主程序的根目录中才能解决此问题,但这给调试带来了极大的不便。
经过在网上不懈地查找,终于得到了一个可以接受的解决方案:
在项目的“属性->配置属性->调试”页面中,在“环境”选项中填入:PATH=<dll所在的目录>,如PATH=E:\test\debug\。
重新生成后再次运行,问题得以解决。