将MBCS和Unicode库链接在一起

时间:2012-10-06 16:30:11

标签: c++ visual-studio visual-studio-2012

我有一个用ISO C ++编写的库。它不使用Winapi,TCHAR或类似的东西。我目前正在将其构建为一个字符集设置为Unicode的静态库。我打算将它链接到其他库,其中一些使用Unicode构建,一些是MBCS。

在这种情况下,我是否需要创建两个配置并构建两个版本(MBCS和Unicode)?

1 个答案:

答案 0 :(得分:2)

这不是问题。使用utf-16编码的Unicode字符串的代码使用wchar_t *,使用传统8位编码的代码使用char *。对编译器和链接器都是明确的。设置存在的唯一原因是因为Windows标头和非标准<tchar.h>包含将typedef(如TCHAR)转换为其中任何一种字符串类型的宏,由UNICODE和_UNICODE #defines引导。

当然,使用char *作为字符串的程序使用这个库将是一个巨大的皮塔饼。程序必须翻译字符串,注意演员不会这样做。