MFC之调用DLL的问题:error C2664: “LoadLibraryW”: 不能将参

今天在项目中遇到了一个小小的问题,在调用别人动态连接库(DLL)的时候,总是出现如下提示,导致程序无法正常运行,编程环境:VS2010+MFC

问题提示:errorC2664:“LoadLibraryW”:不能将参数1从“constchar*”转换为“LPCWSTR

经过查找资料,问题得以解决,感谢:

解决方法来源于:

1 静态调用LibProject | setting

Link选项卡Library modules处添加“XXX.lib”然后#include "XXX.h"把XXX.lib(引入库文件),XXX.DLL(动态库文件)XXX.h(头文件)全部放到工程目录下方法二:pragma commet(lib,“*****.lib”)2 动态调用DLL通过LoadLibraryGetProcAddress

FreeLibrary实现。

原因 :工程只支持UNICODE字符

解决方法:

1、工程属性->配置属性–>常规—>字符集—->使用多字节符字符集

2、也就是宽字符,所以下面这行代码,,应该编译有错误hinst=LoadLibrary("InTheHand.Net.Personal.dll");也就是:cannot convert parameter 1 from ‘char [27]’ to ‘const unsignedshort *’楼主将代码改为:hinst=LoadLibrary(L"InTheHand.Net.Personal.dll");或者hinst=LoadLibrary(_T("InTheHand.Net.Personal.dll"));试试。

版权声明:本文为博主原创文章,未经博主允许不得转载。

自己要先看得起自己,别人才会看得起你

MFC之调用DLL的问题:error C2664: “LoadLibraryW”: 不能将参

相关文章:

你感兴趣的文章:

标签云: