最近,在做动态库学习时,编译动态库代码后,小兴奋一把,就去新建测试工程去测试动态库下,郁闷的是经常出现编译错误“cannot open file 'XXX.lib'”,经过几次重复调试以及网友帮助,发现是测试工程“VC++ Directories”下"Libarary Directories"路径中不包含XXX.lib库所在的文件夹路径,(我的XXX.lib库放在了测试工程Debug路径下),于是把路径$(SolutionDir)\$(Configuration)添加到里边,经编译,测试工程可以检测到XXX.lib库,执行正确。
备注:我使用静态连接动态库方式:#pragma comment(lib,"XXX.lib")
总结一下,解决这样问题的方法有两个:
1.保证"Libarary Directories"路径里有你要调用的XXX.lib库的文件夹路径,没有的话,需要添加到里边;
2.使用#pragma comment(lib,"PATH\\XXX.lib")来静态连接动态库,而不是只使用动态库名,其中"PATH"表示XXX.lib所在的文件夹路径。
最后,感谢网友silvergingko帮助,另外欢迎各位吐槽,晚安!^_^