今天在编译一个工程时老是报错:
error LNK2019: 无法解析的外部符号 "int __stdcall lstrlenWInternal(unsigned short const *)" (?lstrlenWInternal
先找到定位的错误的代码吧:
1、
lstrcpyW(gcap.wachFriendlyName, var.bstrVal);
2、
wsprintf(tachStatus, TEXT("%s - %s"), W2T(wachDesc), W2T(wachVer));
凡是有出现串操作的地方都会报错。且改一个出现一个。
于是想这个函数LstrlenWinternal是何方神圣.
D:\自己的经验总结\自己的经验总结\DX90DK_Samples\Samples\C++\DirectShow\BaseClasses_vs2005\wxutil.h中有
#ifndef UNICODE
#define wsprintfW wsprintfWInternal
#define lstrcpyW lstrcpyWInternal
#define lstrcpynW lstrcpynWInternal
#define lstrcmpW lstrcmpWInternal
#define lstrcmpiW lstrcmpiWInternal
#define lstrlenW lstrlenWInternal
#endif
难道是没找到此定义,于是高兴在代码里加
#define lstrlenW lstrlenWInternal
没想到还是报错了。
最后网上找了很多资料,大家都没有找到解决的方法,
最后竟是语言设置错了。
工程设置->c/C++/语言->将w_char 置为内置 选否.
=============================================
ok,编译通过了.