在用vs和Matlab混合编程时遇到如下错误,请高人指点:
一、BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, void *pv)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
if (GetModuleFileName(hInstance, path_to_dll, _MAX_PATH) == 0)
return FALSE;
}
else if (dwReason == DLL_PROCESS_DETACH)
{
}
return TRUE;
}
错误 1 error C2664: “GetModuleFileNameW”: 不能将参数 2 从“char [260]”转换为“LPWSTR” C:\Program Files\MATLAB\R2011b\bin\libMyAdd.cpp
二、bool MW_CALL_CONV libMyAddInitializeWithHandlers(
mclOutputHandlerFcn error_handler,
mclOutputHandlerFcn print_handler)
{
int bResult = 0;
if (_mcr_inst != NULL)
return true;
if (!mclmcrInitialize())
return false;
if (!GetModuleFileName(GetModuleHandle("libMyAdd"), path_to_dll, _MAX_PATH))
return false;
bResult = mclInitializeComponentInstanceNonEmbeddedStandalone( &_mcr_inst,
path_to_dll,
"libMyAdd",
LibTarget,
error_handler,
print_handler);
if (!bResult)
return false;
return true;
}错误 2 error C2664: “GetModuleHandleW”: 不能将参数 1 从“const char [9]”转换为“LPCWSTR” C:\Program Files\MATLAB\R2011b\bin\libMyAdd.cpp 85
------解决方案--------------------
工程属性置为UNICODE