【问题标题】:No way to solve this without modifying Microsoft header?如果不修改 Microsoft 标头就没有办法解决这个问题吗?
【发布时间】:2012-04-10 07:13:49
【问题描述】:

试图在 VC++ 2010 中编译这个旧的 VC++ 6.0 程序。这个 ATL/WTL 东西给我带来了很多问题。我下载并链接到最新的 WTL(据我所知)wtl71。

我在 atlmisc.h 中遇到编译错误:

atlmisc.h(1159): 错误 C2440: 'return' : 无法从 'const char *' 转换为 'TCHAR *'

我已经在网上搜索过,找到的答案是修改股票 MS atlmisc.h 文件!

我在这里遗漏了什么吗?我需要做什么才能编译它?

【问题讨论】:

  • 这是一组复杂的 15 年前的代码,一个新的编译器,以及旧版本或新版本的库。也许您最好使用最新的编译器、最新的 ATL(包含在 Studio 中)、他们网站上的最新 WTL,以及需要更新和修改才能使其工作的代码。

标签: atl visual-c++-2010 wtl


【解决方案1】:

大多数时候我都看到了这个错误,这是因为我一直在尝试构建一个 Unicode 应用程序。在 Unicode 应用程序中,TCHAR* 是 short* 或 wchar_t* 而不是 char*。

我建议检查您的项目设置并确保在项目属性中,常规 > 字符集设置为使用多字节字符集。

【讨论】:

    猜你喜欢
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-09
    • 1970-01-01
    • 2022-11-10
    • 2020-02-25
    • 1970-01-01
    相关资源
    最近更新 更多