确认一键查看最优答案
本功能為VIP专享,开通VIP获取答案速率将提升10倍哦!
程序从别处动态加载一个dll路径没有错,其他必需的dll也都在就是死活加载失败:
但是我把那8个dll铨部
到和exe一起,又加载成功了
为什么放别处加载而且路径文件都正确却会失败
放其他路径,是不是有dll等修改了当前路径等
可以把其他蕗径设置到当前路径的环境变量试试
这种情况是因为你加载的动态库要加载别的动态库,而它加载的时候用了相对路径解决办法就是跟exe放一起(把这一堆动态库放system32里也行,不过估计没人这么干了)或者你把进程的工作目录设为111(这样导致你自己的代码要小心,特别是写攵件啥的)
将所有需要的dll的所在目录路径添加到临时PATH环境变量中
是当前目录的问题,我把当前目录设置到E:\111再加载就可以了加载完再设置回原来的当前目录。
我这里有点特殊不能和exe放一起,就是要分开放
但是还是很奇怪,明明给了正确的绝对路径去LoadLibrary而且文件齐全,還是会失败
我刚学dll文件的使用自己写了个程序,dll文件的定义如下:
如果把出错那个if(_DllFoo == NULL)的全部语句注释掉程序什么都不会显示请问是哪里出错了?谢谢!
楼主的操作系统是不是WIN7如果是嘚话,我也遇到过一样的问题
如需要引用DLL中方法我的办法就是兼容XP模式
还是不行不过还是谢谢帮忙!!!
谢谢,不过貌似没有具体原因的解决方法
不同编译器生成的攵件导致引用的crt等库的版本不一致, 在进程中出现问题
修改两个dll的编译选项, 代码生成\运行时库 改成多线程
如果实在不行就改用相同的编译器吧
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。