1 静态调用DLL
Project | setting
Link选项卡Library modules处
添加“XXX.lib”
然后#include "XXX.h"
把XXX.lib(引入库文件),XXX.DLL(动态库文件)
XXX.h(头文件)
全部放到工程目录下
2 动态调用DLL
通过
LoadLibrary
GetProcAddress
FreeLibrary实现。
原因 :工程只支持UNICODE字符
解决方法:
1、工程属性->配置属性-->常规--->字符集---->使用多字节符字符集
2、也就是宽字符,所以下面这行代码,应该编译有错误
hinst=LoadLibrary("InTheHand.Net.Personal.dll");
也就是:
cannot convert parameter 1 from 'char [27]' to 'const unsigned short *'
楼主将代码改为:
hinst=LoadLibrary(L"InTheHand.Net.Personal.dll");
或者
hinst=LoadLibrary(_T("InTheHand.Net.Personal.dll"));
试试
相关文章
- error C2664: “CreateFileW”: 不能将参数 1 从“char *”转换为“LPCWSTR”
- error C2664: “MessageBoxW”: 不能将参数 2 从“char *”转换为“LPCWSTR”
- error C2664: “LoadLibraryW”: 不能将参数 1 从“const char *”转换为“LPCWSTR”
- error C2664: “MessageBoxW”: 不能将参数 2 从“const char [10]”转换为“LPCWSTR”
- VS2010 C++ 串口编程 错误error C2664: “CreateFileW”: 不能将参数 1 从“const char *”转换为“LPCWSTR”
- error C2664: “MessageBoxW”: 不能将参数 2 从“const char [10]”转换为“LPCWSTR”
- error C2664: MessageBoxW不能将参数2const char*转换为LPCWSTR的解决办法
- error: C2664: “zajiao::zajiao(const zajiao &)”: 无法将参数 1 从“const char [12]”转换为“char *”
- VS2010 error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [3]”转换为“LPCTSTR”
- error C2664: “ATL::CStringT
::Remove”: 不能将参数 1 从“const char [2]”转换为“char”