dll加载遇到的问题

dll加载有两种形式,分别是隐式加载和显式加载。

隐式加载在编译的时候就将dll文件编译到可执行文件中去,程序发布的时候可以不用讲dll带着.缺点是,这样编译出来后,程序会很大。

显式加载是指在程序运行过程中,需要用到dll里的函数时,再动态加载dll到内存中。这种加载方式因为是在程序运行后再加载的,所以可以让程序启动更快,而且dll的维护更容易,使得程序如果需要更新,很多时候直接更新dll,而不用重新安装程序.只是这种加载方式,函数调用稍微复杂一点。

我在项目中采用的是隐式加载,遇到的问题是"无法打开.lib文件"的错误,解决方法是检查dll文件和lib文件放的位置。

vs2017中放在vcxproj、vcxproj.user、vcxproj.filter三个文件所在的文件夹里面,与这三个文件放在一起后编译错误被消掉。

另外使用xerces解析xml的时候,报错的时候注意检查“XERCES_CPP_NAMESPACE_USE”是否添加。

 

 

参考:https://blog.csdn.net/enjoy5512/article/details/51548795

posted @ 2018-08-22 13:25  佟歌  阅读(145)  评论(0编辑  收藏  举报