VS下使用LoadLibrary加载dll失败 记录一下失败经历。 今天自己写了一个dll,同时写了一个测试程序,顺利加载成功。但是移植到另一个程序中后总是加载失败,通过GetLastError得到的返回值为126.但是我的dll明明是正确...
VS下使用LoadLibrary加载dll失败
记录一下失败经历。
今天自己写了一个dll,同时写了一个测试程序,顺利加载成功。但是移植到另一个程序中后总是加载失败,通过GetLastError得到的返回值为126.但是我的dll明明是正确的,在测试程序中都加载成功了的。
然后到网上各种查出错的解决办法,有说使用LoadLibraryEx函数的,有说使用TEXT(“绝对路径”)的。但是并没有解决。后来查到一个说32位、64位需要对应、debug和release也要对应。发现我的dll是32位的,但是我的程序是64位的。于是马上把dll编译成64位的。高高兴兴的拷贝过去一试、呵呵,并没有成功。但是写成绝对路径后居然成功了,而写成程序获取的路径则失败。
后面仔细检查程序获取到的路径值,发现后面多了一个"\r\n"。终于找到问题所在,在新程序中是写在一个配置文件中,从配置文件中读取的dll路径。所以读取到的路径后面带了个小尾巴,当然加载不成功。去掉小尾巴,终于成功了。
LoadLibrary加载dll失败,GetLastError返回错误代码127。