dll加载遇到的问题
Posted kgtone
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于dll加载遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章
模块“srmlib.dll”已加载,但未找到入口点 DllRegisterServer