如何使预处理器字符串既窄又宽

bra*_*tao 5 c++ string c-preprocessor

我必须制作两个不同名称的项目.两个项目都将共享相同的代码.

所以我开始将调用旧名称的地方替换为名为APP_NAME的stdafx.h中的预处理器

在stdafx.h我放了

#define APP_NAME _T("My name") 
Run Code Online (Sandbox Code Playgroud)

当我发现代码时

function(parm1,_T("My old name have a error"));
Run Code Online (Sandbox Code Playgroud)

我想替换

function(parm1, APP_NAME _T(" have a error"));
Run Code Online (Sandbox Code Playgroud)

但是,当混合宽(T("x")或L"")与纯窄("")混合时会出现很多错误

错误C2308:连接不匹配的字符串

有可能做任何预处理器魔术来克服它吗?

Ada*_*dam 0

有一个APP_NAME和一个APP_NAME_W,一个窄一个宽。使用适合该上下文的任何一个。