【问题标题】:Eclipse project cannot include tchar.hEclipse 项目不能包含 tchar.h
【发布时间】:2014-09-14 22:01:11
【问题描述】:

我正在尝试使用 Eclipse 和 Cygwin gcc 构建一个 lzmat_lib 压缩库。我从链接http://www.matcode.com/lzmat_lib.zip 下载了库。该文件有以下包含文件:

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <tchar.h>
#include "lzmat.h"

找不到tchar.h 头文件。我不明白如何添加这个头文件。请提出解决方案。

【问题讨论】:

  • @KeillRandor 感谢您的建议,但我只是不知道 UTF-8、UTF-16、Unicode 等。我实际上无法得到这个问题。 :-(
  • 包括 就像包括 ,即它是 Windows 编译器的东西。 mingw 不是 windows 默认编译器,所以不包含 lzmat_lib 需要的 windows 头文件。
  • @KeillRandor 是否意味着我不能将 lzmat_lib 文件与 cygwin gcc 一起使用。
  • 不是直接的,您必须提供自己的“tchar.h”或删除包含行,看看会发生什么:)

标签: c eclipse gcc cygwin


【解决方案1】:

您的选择是安装 Windows 开发环境,如 Visual Studio 或 mingw 以及 Windows SDK,或者将代码移植到您的 cygwin (posix) 环境。

要移植代码,您只需这样做:

  1. 删除#include &lt;tchar.h&gt;

  2. 搜索并将_TCHAR替换为char

  3. 在文件中搜索所有以_t 开头的字符串并删除该前缀。例如,_tfopen 变成了 fopen_tprintf 变为 printf

  4. 搜索文本_T 并将其删除。您还可以删除将围绕您的字符串的额外括号。

  5. 通过删除对tchar.h 的依赖并改用标准函数来处理出现的任何其他问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    • 2012-07-22
    • 2011-10-06
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2021-09-02
    相关资源
    最近更新 更多